CMy::CMy(void)
: name(NULL)
{
}设置为NULL时提示“无法指定数组的显式初始值设定项”我该怎么设置这个初值?

解决方案 »

  1.   

    用显示的方式看看,在大括号里直接写。
    char name[256]={NULL};
      

  2.   

    char name[256] = { 0 };
    我一般都是这样初始化
      

  3.   

    楼上的请看仔细了,楼主是在构造函数里默认初始化该数组的,因为name是类的成员变量在类的构造函数之后的初始化变量,一般都是调用该变量的构造函数,把参数传入,如果不是对象,是普通变量,如int之类的,则直接进行赋值,数组不支持{0}的参数,所以据我看来是不太好进行默认初始化的(可能是愚见)一般我是在类的构造函数里面初始化这类变量
    CMy::CMy(void)
    {
      ZeroMemory(name, sizeof(name));
    }仅供参考
      

  4.   

    char name[256]={NULL}; : 00 00 00 00 00 ......
    char name[256]         : 烫 烫 烫 烫 烫 ....
    char name[256]={0};    : 00 烫 烫 烫 烫 .....
    很清楚了吧
      

  5.   

    好神气,原来NULL和0还有这个区别?
      

  6.   

    to  BLsoft(网龙) ( ) 你用VC做下实验,看看结果和你的一样吗?
      

  7.   

    TO: roger_ding(海天一色) 
    这00 不是0的意思.这是它们在内存中的样子 我上面就是做实验然后从内存中COPY过来的.