结构体调用的问题!!!!

lyj_85811 2010-06-10 10:36:19
struct individual
{
char chrom[CSIZE+1];
int p[3];
double fitness;
} ;
struct individual population[SIZE];


调用函数是:
LSelectionOperator(population);
//对上一代种群进行交叉变异生成下一代种群
OCrossoverOperator(population); //单点交叉
MutationOperator(population) ;

最后程序出错如下:
D:\GATest2(12)\GA.cpp(489) : error C2660: 'LSelectionOperator' : function does not take 1 parameters
D:\GATest2(12)\GA.cpp(494) : error C2660: 'OCrossoverOperator' : function does not take 1 parameters
D:\GATest2(12)\GA.cpp(495) : error C2660: 'MutationOperator' : function does not take 1 parameters


谁能帮我看看这是怎么回事????
...全文
107 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-06-19
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
sichuanwww 2010-06-11
  • 打赏
  • 举报
回复
错误太明显了。
wltg2001 2010-06-11
  • 打赏
  • 举报
回复
LSelectionOperator(population);
//对上一代种群进行交叉变异生成下一代种群
OCrossoverOperator(population); //单点交叉
MutationOperator(population) ;
=============
你这三个函数声明没写,看不出来,从错误提示上看,应该是这三个函数的参数并不是只有一个参数。
gz_qmc 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lyj_85811 的回复:]

确实,这三个函数需要的是三个参数,
struct individual
{
char chrom[CSIZE+1];
int p[3];
double fitness;
} ;
那样该怎样传递他们呢???
除了用struct individual population[SIZE];
[/Quote]

struct individual
{
char chrom[CSIZE+1];
int p[3];
double fitness;
} ;
struct individual population[SIZE];

这样用
LSelectionOperator(population[xxx].chrom,population[xxx].p,population[xxx].fitness);
向立天 2010-06-11
  • 打赏
  • 举报
回复
做遗传算法呢吧
函数是你自己写的么?
应该不是吧
要不你自己都不知道怎么用?
好好看看你参考的例子吧
wltg2001 2010-06-11
  • 打赏
  • 举报
回复
确实,这三个函数需要的是三个参数,
============
你不贴函数原型谁知道你函数是什么样子的啊!
lyj_85811 2010-06-11
  • 打赏
  • 举报
回复
确实,这三个函数需要的是三个参数,
struct individual
{
char chrom[CSIZE+1];
int p[3];
double fitness;
} ;
那样该怎样传递他们呢???
除了用struct individual population[SIZE];
wangli820 2010-06-11
  • 打赏
  • 举报
回复
function does not take 1 parameters 表示函数不接受1个参数,或者说你这个函数是多个参数,而你只传了一个。
把函数原型贴出来
gz_qmc 2010-06-10
  • 打赏
  • 举报
回复
你调用的函数不接受1个参数
LSelectionOperator(population);
OCrossoverOperator(population);
MutationOperator(population);
看见了吧?()里面都只有一个变量
gz_qmc 2010-06-10
  • 打赏
  • 举报
回复
函数调用的时候参数的数量不对头

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧