struct bRegAccount
{
int Number;
TCHAR ID[30];
TCHAR PassWord[30];
TCHAR PassWordOK[30];
TCHAR TwoPassWord[30];
public:
bRegAccount() //问一下假如创建对象是不是直接走这个构造函数直接初始化?
{
Number = 0;
ID[30] = “\0”;
PassWord[30] = “\0”;
PassWordOK[30] = “\0”;
TwoPassWord[30] = “\0”;
}
};
=================================================================================
struct bRegAccount
{
int Number;
TCHAR ID[30];
TCHAR PassWord[30];
TCHAR PassWordOK[30];
TCHAR TwoPassWord[30];
public:
//问一下这样初始化为什么报错,哪错了。
bRegAccount() :Number(0),ID[30](“\0”),PassWord[30] (“\0”),PassWordOK[30] (“\0”),TwoPassWord[30] (“\0”){}
};
本人想直接创建对象, 然后不再初始化成员变量,直接就可以用成员了。
{
int Number;
TCHAR ID[30];
TCHAR PassWord[30];
TCHAR PassWordOK[30];
TCHAR TwoPassWord[30];
public:
bRegAccount() //问一下假如创建对象是不是直接走这个构造函数直接初始化?
{
Number = 0;
ID[30] = “\0”;
PassWord[30] = “\0”;
PassWordOK[30] = “\0”;
TwoPassWord[30] = “\0”;
}
};
=================================================================================
struct bRegAccount
{
int Number;
TCHAR ID[30];
TCHAR PassWord[30];
TCHAR PassWordOK[30];
TCHAR TwoPassWord[30];
public:
//问一下这样初始化为什么报错,哪错了。
bRegAccount() :Number(0),ID[30](“\0”),PassWord[30] (“\0”),PassWordOK[30] (“\0”),TwoPassWord[30] (“\0”){}
};
本人想直接创建对象, 然后不再初始化成员变量,直接就可以用成员了。
解决方案
20
ID[30] = "\0"; PassWord[30] = "\0"; PassWordOK[30] = "\0"; TwoPassWord[30] = "\0";
lz你这是在玩火….这几行是什么意思….
40
用_tcscpy赋值
用_stprintf打印
定义了UNICODE,TCHAR就是wchar_t。
没定义UNICODE,TCHAR就是char
用_stprintf打印
定义了UNICODE,TCHAR就是wchar_t。
没定义UNICODE,TCHAR就是char
40
其次,构造函数初始列表初始化的是成员变量,而不是其他,所以你只能这样写:
struct bRegAccount { int Number; TCHAR ID[30]; TCHAR PassWord[30]; TCHAR PassWordOK[30]; TCHAR TwoPassWord[30]; public: bRegAccount() :Number(0),ID(""),PassWord(""),PassWordOK(""),TwoPassWord(""){} };
20
本人在VS这样试还是不行的
20
malloc / calloc申请内存,当用malloc的时候用 memset 初始化内存空间,calloc本身包含初始化的作用