c ++初始化一个包含数组的结构类型

时间:2013-05-26 14:59:39

标签: c++ visual-c++ struct vc6

我正在使用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 : '{'错误, 我不知道如何正确地初始化数组。

1 个答案:

答案 0 :(得分:4)

在创建此结构的实例时初始化成员。在C ++中,这是在构造函数中完成的,而在C语言中,它完成如下:

struct FileInfo my_file_info = { { 0 }, { 0 }, 0, 0, 0 };

如果您不想添加构造函数(例如,如果结构在C和C ++程序之间共享),C语言当然也可以在C ++中使用。