我使用 vc6,我做了一个这样的结构:
struct FileInfo
{
char filename[200] = {0};
char ext[20] = {0};
int f_size=0;
int offset=0;
char* pData=0;
};
但我得到了一个 error C2059: syntax error : '{'
错误,
而且我不知道如何正确初始化内部数组。
最佳答案
您在创建此结构的实例时初始化成员。在 C++ 中,这是在构造函数中完成的,而在 C 中,它是这样完成的:
struct FileInfo my_file_info = { { 0 }, { 0 }, 0, 0, 0 };
如果您不想添加构造函数(例如,如果结构在 C 和 C++ 程序之间共享),C 方式当然也可以在 C++ 中使用。
关于c++初始化一个带有数组的结构类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16760469/