铬金属 2020-10-24 11:50 采纳率: 0%
浏览 469
已采纳

c++代码 跳出'变量名' does not name a type

这是我写的c++的头文件

#ifndef ANTCOLONYOPTIMIZATION_H_INCLUDED
#define ANTCOLONYOPTIMIZATION_H_INCLUDED

#include "iostream"
#include<Eigen/Dense>

using namespace std;

////////////////////////变量定义////////////////////////////
//任务数组,数组的下标表示任务的编号,数组的值表示任务的长度。比如:tasks[0]=10表示第一个任务的任务长度是10.
int *tasks;
//任务的数量,
const int taskNum=100;

//处理节点的数组。数组的下标表示处理节点的编号,数组值表示节点的处理速度
int *nodes;
//处理节点的数量
const int nodeNum=10;

//蚁群迭代的次数
int iteratorNum;
//每次迭代中蚂蚁的数量。每只蚂蚁都是一个任务调度者,每次迭代中的每一只蚂蚁都需要完成所有任务的分配,这也就是一个可行解。
int antNum;

//任务处理时间矩阵,它是一个二维矩阵。比如:timeMatrix[i][j]就表示第i个任务分配给第j个节点所需的处理时间。
//timeMatrix[i][j]=task[i]/nodes[j]
MatrixXd timeMatrix;
//pheromoneMatrix:信息素矩阵 pheromoneMatrix[i][j]=0.5就表示任务i分配给节点j这条路径上的信息素浓度为0.5
MatrixXd pheromoneMatrix;
//maxPheromoneMatrix:pheromoneMatrix矩阵的每一行中最大信息素的下标
int maxPheromoneMatix[taskNum];
//criticalPointMatrix 在一次迭代中,采用随机分配策略的蚂蚁的临界编号。
int criticalPointMatrix[taskNum];

//p:每完成一次迭代后,信息素衰减的比例。
int p=0.5;
//q:蚂蚁每次经过一条路径,信息素增加的比例。
int q=2;

//初始化任务集合
tasks=new int[taskNum];
for(int i=0;i<taskNum;i++){
    std::uniform_int_distribution<int> dis1(10,100);
    tasks[i]=dis1;
}
nodes=new int[nodeNum];
for(int i=0;i<nodeNum;i++){
    std::uniform_int_distribution<int> dis1(10,100);
    nodes[i]=dis1;
}
////////////////////////变量定义////////////////////////////

/***
蚁群算法
*/
void aca(){
    //初始化任务执行时间矩阵
    initTimeMatrix(tasks,nodes);
    //初始化信息素矩阵
    initPheromoneMatrix(taskNum,nodeNum);
    //迭代搜索
    acaSearch(iteratorNum,antNum);
}



#endif // ANTCOLONYOPTIMIZATION_H_INCLUDED

然后其中的

tasks=new int[taskNum];
for(int i=0;i<taskNum;i++){
    std::uniform_int_distribution<int> dis1(10,100);
    tasks[i]=dis1;
}
nodes=new int[nodeNum];
for(int i=0;i<nodeNum;i++){
    std::uniform_int_distribution<int> dis1(10,100);
    nodes[i]=dis1;
}

这块,变量tasks、i、nodes都会报这个错误。
错误如图所示
图片说明

  • 写回答

1条回答 默认 最新

  • zx289544730 2020-10-27 17:42
    关注

    把出错的代码移动到函数内,你的代码写在全局变量的位置了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 4月20日

悬赏问题

  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题
  • ¥20 基于matlab的航迹融合 航迹关联 航迹插补
  • ¥15 用Matlab实现图中的光线追迹
  • ¥15 联想笔记本开机出现系统更新界面
  • ¥15 各位帮帮我 我不想重做系统
  • ¥30 微信小程序蓝牙数据透传
  • ¥15 加氢站氢负荷数据集来源