******SOS****谁来帮忙搞——————————————————懂?

nuke505 2005-03-23 08:32:01

const int MAXMEANS=10;
//-------------------------------------------------------------
class Definition
{
public:
Definition():word(0),nMeanings(0){}//此处word是指针类型,为什么却可以赋值0呢?0 不是整型吗?还有就是我若在此句中加一个变量的 赋值,meanings(0),即将此句变为
Definition():word(0),nMeanings(0),meanings(0){}则编译会报错,既然word指针可以赋0为什么meaning同样是指针却不可以赋0呢?编译错误见下。
Definition(char* word,char* def[]);
Definition& operator= (const Definition&);
void PutWord(char* s);
char* GetWord(){return word;}
void AddMeaning(char* s);
char* GetMeaning(int level);
int GetMeans(){return nMeanings;}
void Print();
~Definition();
private:
char* word;
char* meanings[MAXMEANS];
int nMeanings;
};
编译错误:g:\c++exercises\30wordanddiction\def.h(12) : error C2536: 'Definition::meanings' : cannot specify explicit initializer for arrays
g:\c++exercises\30wordanddiction\def.h(24) : see declaration of 'meanings'
diction.cpp
g:\c++exercises\30wordanddiction\def.h(12) : error C2536: 'Definition::meanings' : cannot specify explicit initializer for arrays
g:\c++exercises\30wordanddiction\def.h(24) : see declaration of 'meanings'
Error executing cl.exe.
...全文
46 点赞 收藏 3
写回复
3 条回复
nuke505 2005年03月23日
word=0就是word=NUll的意思吗?
另外TO: goodboy1881
meanings是数组的名字,数组的名字是指针啊!既然是指针为什么不能跟word一样赋值0呢?
回复 点赞
积木 2005年03月23日
指针可以,但是让数组也这么干就是罪过了,
程序会给这个数组一个首地址的,呵呵。
cannot specify explicit initializer for arrays
回复 点赞
yuchengliu 2005年03月23日
Definition():word(0),nMeanings(0){}
空值 就是 NULL
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告