这个问题应该怎么解决??? 谢谢了 很急的,在线等!
解决方案 »
- 我们为什么要结婚?(上)-这篇文章很长,感慨很多,不喜勿入。【转帖,撒分】
- RegisterHotKey中消息发送问题
- vc 中错误处理,msdn实例
- 那位仁兄有用kodak扫描仪控件做的程序给偶发一个
- 想问1个关于Win32应用程序的问题!
- 给你拜年
- 怎样把拨号网络中已设好的拨号连接用程序调出来?
- 求将一个工程中的对话框转到另一工程中的最简便方法,谢谢。
- 2014-2-12到广州了,想找一份C++框架师的工作,所以恶补设计模式中。
- 现在广播一个通知:今天下午2:00,konfyt(不甜的水果唐)将结了他的帖子,如果你们对他的问题有兴趣,去看看吧!(回答好了,有分!:))
- [100分] 刚 学 Win32, 请 教 俩 简 单 问 题
- 【求助】CView 保存成图片遇到的问题?
这个一般是类定义对象的问题
{
float number[DIMENSION];
float best[DIMENSION];
float bestfitness;
float fitness;
float speed[DIMENSION];
int Total;
float Sum;
float Avg;
}individual[POPSIZE];PSO* p=new PSO;
buf=p->PMain();
Buf[0]=individual[1].Avg;
Buf[1]=individual[1].best[1];
Buf[2]=individual[1].bestfitness;
Buf[3]=individual[1].fitness;
Buf[4]=individual[1].number[1];
Buf[5]=individual[1].speed[1];
Buf[6]=individual[1].Sum;
Buf[7]=individual[1].Total;
system\systemview.cpp(137) : error C2228: left of '.best' must have class/struct/union type
e:\谢俊凰的毕业设计\平台系统存档\新建文件夹\system\systemview.cpp(138) : error C2228: left of '.bestfitness' must have class/struct/union type
e:\谢俊凰的毕业设计\平台系统存档\新建文件夹\system\systemview.cpp(139) : error C2228: left of '.fitness' must have class/struct/union type
e:\谢俊凰的毕业设计\平台系统存档\新建文件夹\system\systemview.cpp(140) : error C2228: left of '.number' must have class/struct/union type
e:\谢俊凰的毕业设计\平台系统存档\新建文件夹\system\systemview.cpp(141) : error C2228: left of '.speed' must have class/struct/union type
e:\谢俊凰的毕业设计\平台系统存档\新建文件夹\system\systemview.cpp(142) : error C2228: left of '.Sum' must have class/struct/union type
e:\谢俊凰的毕业设计\平台系统存档\新建文件夹\system\systemview.cpp(143) : error C2228: left of '.Total' must have class/struct/union type
Error executing cl.exe.SystemView.obj - 8 error(s), 0 warning(s)
#define POPSIZE 20
struct indi
{
float number[DIMENSION];
float best[DIMENSION];
float bestfitness;
float fitness;
float speed[DIMENSION];
int Total;
float Sum;
float Avg;
}individual[POPSIZE];
wltg2001 要不我把代码传给你看看?
typedef struct _INDI
{
float number[DIMENSION];
float best[DIMENSION];
float bestfitness;
float fitness;
float speed[DIMENSION];
int Total;
float Sum;
float Avg;} INDI;INDI individual[POPSIZE];
{
float number[DIMENSION];
float best[DIMENSION];
float bestfitness;
float fitness;
float speed[DIMENSION];
int Total;
float Sum;
float Avg;
}individual[POPSIZE];
============
这个你写在什么地方啊?和后面的代码是不是在同一个文件中呢
在cpp文件里,报错了8个错误,都是already define in obj
放在.h里,只报了一个错误 结构体数组已经定义了 already define in obj ,其它的全局变量没有重复定义 另外这个VC工具也很怪,有时候编译不能通过,在按一次就通过了,大家有没有相似的经历
在systemview.cpp中的声明:
extern indi;
extern individual[POPSIZE];
声明也是要加变量类型的,你的indi,indivaidual都没有加类型吧
将结构的类型定义写到PSO.h中,写成如下形式:#include "Algorithm.h"
//宏定义
#define POPSIZE 20
#define DIMENSION 2
//随机数定义
#define rdint(i) (rand()%(int)(i))
#define rdft() (float)((double)rdint(16384)/(16383.0))
#define rnd(a,b) (rdint((int)(b)-(int)(a)+1)+(int)(a))
typedef struct
{
float number[DIMENSION];
float best[DIMENSION];
float bestfitness;
float fitness;
float speed[DIMENSION];
int Total;
float Sum;
float Avg;
} indi;
class PSO : public Algorithm
{
public:
int PMain();
PSO();
virtual ~PSO();
.....在PSO.cpp中这样定义全局变量: indi individual[POPSIZE];
在systemview.cpp中声明全局变量:extern indi individual[POPSIZE];
另外,将前面的extern indi;去掉,indi从你的代码上看是一个结构类型,并不是变量。
代码我就不发过去了,我是VS2005,你用的是VC6,发过去你也编译不了
wltg2001 大恩人啊!! 给分!!!