首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家看看 语法 错在哪呢?解决办法

2012-04-15 
大家看看 语法 错在哪呢??#include FunctionCla.h#includeiostreamusing namespace std#define N 20s

大家看看 语法 错在哪呢??
#include "FunctionCla.h"
#include"iostream"
using namespace std;
#define N 20
struct Item{
  float a;
float b;

  };

Item X[20];

//两个Item用于保存分类结果
 Item X_1[20];
 Item X_2[20];

//赋初值,即样本点,共20个,如下
X[1].a=0;//-----------------------------------
X[1].b=0;//-----------------------------------
X[2].a=1;//-----------------------------------
X[2].b=0;//-----------------------------------
X[3].a=0;//-----------------------------------
X[3].b=1;//-----------------------------------
X[4].a=1;//-----------------------------------
X[4].b=1;//-----------------------------------
X[5].a=2;//-----------------------------------
X[5].b=1;//-----------------------------------
X[6].a=1;//-----------------------------------
X[7].a=2;
X[7].b=2;//-----------------------------------
X[8].a=3;//-----------------------------------
X[8].b=2;//-----------------------------------
X[9].a=9;
X[9].b=9;//-----------------------------------
X[10].a=7;
X[10].b=6;//-----------------------------------
X[11].a=8;
X[11].b=6;

X[12].a=6;
X[12].b=7;

X[13].a=7;
X[13].b=7;//-----------------------------------
X[14].a=8;
X[14].b=7;

X[15].a=9;
X[15].b=7;

X[16].a=7;
X[16].b=8;

X[17].a=8;
X[17].b=8;

X[18].a=9;
X[18].b=8;

X[19].a=8;
X[19].b=9;

X[20].a=9;
X[20].b=9;//-----------------------------------
对结构体数组赋值是,也就是加油//------------------的行 (因为太多 所以省略部分) 全报错:
错误为:
f:\c++\vs2008\homework\homework\k_evenvalue.cpp(19) : error C2143: 语法错误 : 缺少“;”(在“.”的前面)
1>f:\c++\vs2008\homework\homework\k_evenvalue.cpp(19) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\c++\vs2008\homework\homework\k_evenvalue.cpp(19) : error C2369: “X”: 重定义;不同的下标
1> f:\c++\vs2008\homework\homework\k_evenvalue.cpp(12) : 参见“X”的声明

[解决办法]

探讨

C/C++ code
X[20].a=9;
X[20].b=9;//首先X[20]肯定是不行的,楼主数组没学好啊,下标只能到19

[解决办法]
探讨
粗略地看了下,返现一个很明显的错误:Item X[20];这句话说明,X[0]到X[19]才是可使用的范围,你怎么有下面这样的写法:
X[20].a=9;
X[20].b=9;

这样就数组越界了。

[解决办法]
struct Item{
float a;
float b;

};

看看你代码里,最后这个分号打了没

[解决办法]
如果lz贴出的就是cpp的完整代码,我知道为什么了。

X[1].a=0;//-----------------------------------
X[1].b=0;//-----------------------------------

这赋值代码直接写在外面,C/C++里没这种语法。
[解决办法]
X[20].a=9;
X[20].b=9;
不能到20~
[解决办法]
C/C++ code
#include "FunctionCla.h"#include"iostream"using namespace std;#define N 20struct Item{  float a;float b;  };Item X[20];//两个Item用于保存分类结果 Item X_1[20]; Item X_2[20];//赋初值,即样本点,共20个,如下X[1].a=0;//-----------------------------------X[1].b=0;//----------------------------------- 

热点排行