【发布时间】:2017-03-19 00:55:38
【问题描述】:
我有以下代码
struct my_struct {
const char **enjoy;
};
const char * enjy[] = {
"Cricket", "movie", "",
"Ball", "eat", "",
};
static const struct my_struct my_struct_table[1] = {
[0] = {
.enjoy = enjy
}
};
现在我想使用最终的结构并想使用它进行迭代。
如何使用my_struct_table[0].enjoy进行迭代
我想打印enjy 变量中的所有字符串。
【问题讨论】:
-
你需要添加一种知道列表末尾在哪里的方法
-
危险:我相信
.enjoy = enjy;只适用于C。在C++ 中你应该使用构造函数,或者像这样的简单情况Aggregate Initialization。 -
[0] = { .enjoy = enjy }在 C++ 中有效吗?看起来像是混合了 VB 的东西。 -
嗯,它对我来说很好用。我正在使用 linux 和 g++
-
包含 C 标头不会使其成为有效的 C++。我将它重新标记为 C,因为它是 C,而不是 C++。