改成:char static Data[1024];
错误依旧:error C2040: 'public: static char * a::Data' : 'char' differs in levels of indirection from 'char [1]'
错误依旧:error C2040: 'public: static char * a::Data' : 'char' differs in levels of indirection from 'char [1]'
调试欢乐多
错误依旧:error C2040: 'public: static char * a::Data' : 'char' differs in levels of indirection from 'char [1]'
...
char a::Data[0]='1';
error C2440: 'initializing' : cannot convert from 'const char' to 'char [1024]'
There are no conversions to array types, although there are conversions to references or pointers to arrays
初始化语句改成:char a::Data={'1'};
错误依旧为error C2040: 'public: static char * a::Data' : 'char' differs in levels of indirection from 'char [2]'
!!!???
static char data[1024];//right
问题依旧!?
...
char a::Data[1024]={'1'};
char a::Data={"1"};a.h的内容:class a
{
static char Data[1024];
};
工程中就这两个文件!错误:error C2040: 'private: static char * a::Data' : 'char' differs in levels of indirection from 'char [1024]'
可我这个是静态变量,省不了初始化这一步的,而我恰是在初始化时出的错。
我也同意你说的“在构造函数里面付值就没有问题了”不过现在是在解决静态变量的初始化问题,还没到调构造函数那一步呢!
class a
{
static char Data[1024];
};char a::Data[1024]={'1'};main()
{
a b; }没错误,我编译通过。