一段小的c++程序找错

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:23:46
//程序代码:
// 103.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include <iostream>

using namespace std;

class code103
{
static const int zSize = 10;
int Array[zSize];
const int cSize;
static int index;
public:
code103():cSize(1)
{
Array[10] = {1,2,3,4,5,6,7,8,9,10};
}
void print();
~code103(){}
};

int code103::index = 1;

void code103::print(){
for(int i = 0; i < zSize; i++)
cout<<"Array["<<i<<"]: "<<Array[i]<<endl;
}

int main()
{
code103 c;
c.print();
return 0;
}
错误如下:
\103.cpp(19) : error C2059: 语法错误 : “{”
1>.\103.cpp(19) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>.\103.cpp(19) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
我是用vs2008 编的

//#include "stdafx.h"

#include <iostream>

using namespace std;

class code103
{
static const int zSize;//数据不能在类里初始化
int *Array; //可以先设置为指针
const int cSize;
static int index;
public:
code103():cSize(1)
{
int i;
Array=new int[10];
for(i=0;i<10;i++)
Array[i]=i;
}
void print();
~code103(){}
};
const int code103::zSize=10;//在这初始化

int code103::index = 1;

void code103::print(){
for(int i = 0; i < zSize; i++)
cout<<"Array["<<i<<"]: "<<Array[i]<<endl;
}

int main()
{
code103 c;
c.print();
return 0;
}

class code103 的构造函数里:
Array[10] = {1,2,3,4,5,6,7,8,9,10};
这种赋初值只能用在定义时, 这里不能用