为结构灵活数组赋值

时间:2015-04-14 23:13:59

标签: c++ c

所以我有一个结构如下:

typedef struct {
     ......
     char* filenames[];
}

int myFunction(char* filenames[]) {
     myStruct->filenames = filenames;
}

这让我无法使用灵活的阵列成员"错误。为什么是这样?我知道我不能对我的结构数组进行malloc,所以如果我不能为它分配值,我不确定如何使用它。

1 个答案:

答案 0 :(得分:3)

您需要使用char** filenamesc++不接受可变长度数组。

请参阅example

作为建议而非答案,请使用std::string。或者如果您需要容器std::vector<std::string>