C++初始化报错

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:54:57
//qq.h
#include <iostream.h>
class CMyClass
{
private :
int (*a)[10];
public:
CMyClass();
void Display();
};

CMyClass::CMyClass()
{
a=new int[10][10];
int a[10][10]={
{1,1,1,1,1,1,1,1,1,1},
{1,0,0,1,0,0,0,1,0,1},
{1,0,0,1,0,0,0,1,0,1},
{1,0,0,0,0,1,1,0,0,1},
{1,0,1,1,1,0,0,0,0,1},
{1,0,0,0,1,0,0,0,0,1},
{1,0,1,0,0,0,1,0,0,1},
{1,0,1,1,1,0,1,1,0,1},
{1,1,0,0,0,0,0,0,3,1},
{1,1,1,1,1,1,1,1,1,1}
};

}

void CMyClass::Display()
{
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
cout<<a[i][j]<<" ";
}

//main.cpp
#include "qq.h"
int main()
{
CMyClass ob;
ob.Display();
return 0;
}
编译报错。
这样初始化为什么是错的?要怎么改?
不好意思,写错了一行:
CMyClass::CMyClass()
{
a=new int[10][10];
int a[10][10]=

a[10][10]={
....
};
不能这样初始化
静态数组可以在声明的时候顺便初始化,比如
int a[10][10]={...};
动态数组不能初始化为不同的值
你要是实在需要的话,就写成赋值

迷糊。。