| 
 | 
 
| 
[BR]从turbo c中移植一段程序到vc++6.0,原有程序中定义了一个字符指针数组unsigned char *Str[]={"aaaa", "bbbbb","ccc","dddddd"},我将Str作为某个类A的成员变量,在该类的构造函数中对其作初始化, 程序如下: 在*.h中     class A   {     private:     unsigned char *Str[];     .......   } 在*.cpp中     A::A   {     strcpy(Str[0], "aaaa");     strcpy(Str[1], "bbbbb");     strcpy(Str[2], "ccc");     strcpy(Str[3], "dddddd");   } 出现一个警告和一个错误: warning C4200: nonstandard extension used : zero-sized array in struct/union error C2664: 'strcpy' : cannot convert parameter 1 from 'unsigned char *' to 'char *' 这是什么原因,怎么修改? 如果*.cpp改成:   A::A   {     *Str[]={"aaaa", "bbbbb","ccc","dddddd"};   } 则出现一个警告和三个错误: warning C4200: nonstandard extension used : zero-sized array in struct/union syntax error : ']' syntax error : missing ';' before '{' error C2143: syntax error : missing ';' before '}' 这又怎么改?能说明原因吗? 在类中怎么声明字符指针数组,在那里初始化数组? |   
 
 
 
 |