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

关于数组的初始化有关问题

2012-03-15 
关于数组的初始化问题?我在构造函数中初始化一个数组,代码如下:CFindPath::CFindPath(){MapData[MAP_SIZE]

关于数组的初始化问题?
我在构造函数中初始化一个数组,代码如下:
CFindPath::CFindPath()
{
MapData[MAP_SIZE] = 
{
1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0,
0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0,
0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1,
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0,
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
} ;
}
这样子有问题,错误如下:
f:\c++\c++ project\cfindpath.cpp(8) : error C2059: syntax error : '{'
f:\c++\c++ project\cfindpath.cpp(8) : error C2143: syntax error : missing ';' before '{'
f:\c++\c++ project\cfindpath.cpp(22) : error C2143: syntax error : missing ';' before '}'
错误指向数组MapData[MAP_SIZE] = { 这里,还有下一个 }, 
我把数组定义成全局变量就没有问题了,
这不知道为什么,请指教




[解决办法]
#include <iostream >

using namespace std;
#define MAP_SIZE 195 

class A
{
public:
A(){};
void print();
private:
static int MapData[MAP_SIZE];
};
int A::MapData[MAP_SIZE]={ 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 
1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 
0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 
0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 
0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 
0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 
};
void A::print()
{
for(int i= 0;i<MAP_SIZE;++i)
{
cout<<MapData[i];
}
};
void main()
{
A a;
a.print();
return;


热点排行