c ++初始化一个带有数组的结构类型

Posted

技术标签:

【中文标题】c ++初始化一个带有数组的结构类型【英文标题】:c++ initialize a struct type with array in it 【发布时间】:2013-05-26 14:59:38 【问题描述】:

我使用 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++11 支持。你是否在开启的情况下编译过? @juanchopanza 我正在使用 vc6 那我怀疑你有任何 C++11 支持。 @juanchopanza juanchopanza 是你的名字??好像是中文发音。 【参考方案1】:

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

struct FileInfo my_file_info =   0 ,  0 , 0, 0, 0 ;

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

【讨论】:

以上是关于c ++初始化一个带有数组的结构类型的主要内容,如果未能解决你的问题,请参考以下文章

C语言数据类型——结构体

c语言结构体能否整体赋值

C语言中的结构体数组

数据结构之数组

C语言结构体和共用体_07

c语言中,结构体初始化和数组初始化的写法是否一样的?求解,谢谢