c++ 结构体初始化
这是结构体:
- C/C++ code
const struct configcommandinfo { const char *name; void (*fn)(adns_state ads, const char *fn, int lno, const char *buf);} configcommandinfos[]= { { "nameserver", ccf_nameserver }, { "domain", ccf_search }, { "search", ccf_search }, { "sortlist", ccf_sortlist }, { "options", ccf_options }, { "clearnameservers", ccf_clearnss }, { "include", ccf_include }, { 0 }};
放在
- C/C++ code
class A{ A(){}; ~A(){};private:configcommandinfo configcommandinfos[];}
怎么做呢?
[解决办法]
我觉得现在需要做的是等待,等c++11普及,就可以了
[解决办法]
class A{
A():configcommandinfos({ \
{ "nameserver", ccf_nameserver }, \
{ "search", ccf_search }, \
{ "sortlist", ccf_sortlist }, \
{ "options", ccf_options }, \
{ "clearnameservers", ccf_clearnss }, \
{ "include", ccf_include }, \
{ "domain", ccf_search }, \
{ 0 } \
}){}
private: configcommandinfo configcommandinfos[8];
};
gcc 4.6.2 没问题
[解决办法]
扩展初始值设定列表只在 -std=c++0x 或 -std=gnu++0x 下可用 [默认启用]
[解决办法]