所以我有一个结构如下:
typedef struct {
......
char* filenames[];
}
int myFunction(char* filenames[]) {
myStruct->filenames = filenames;
}
这让我无法使用灵活的阵列成员"错误。为什么是这样?我知道我不能对我的结构数组进行malloc,所以如果我不能为它分配值,我不确定如何使用它。
答案 0 :(得分:3)
您需要使用char** filenames
。 c++
不接受可变长度数组。
请参阅example。
作为建议而非答案,请使用std::string
。或者如果您需要容器std::vector<std::string>
。