c++ 结构体初始化

tan625747 2012-04-13 09:53:14
这是结构体:
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 }
};


放在

class A
{
A(){};
~A(){};

private:
configcommandinfo configcommandinfos[];

}



怎么做呢?
...全文
294 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
evencoming 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 3 楼 的回复:

class A{
A():configcommandinfos({ \
{ "nameserver", ccf_nameserver }, \
{ "search", ccf_search }, \
{ "sortlist", ccf_sortlist },……


vs2008……
[/Quote]
加-std=c++0x.提前体验c++11的部分特性.
tan625747 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

class A{
A():configcommandinfos({ \
{ "nameserver", ccf_nameserver }, \
{ "search", ccf_search }, \
{ "sortlist", ccf_sortlist },……
[/Quote]

vs2008 好像不行
shenyan008 2012-04-13
  • 打赏
  • 举报
回复
扩展初始值设定列表只在 -std=c++0x 或 -std=gnu++0x 下可用 [默认启用]
shenyan008 2012-04-13
  • 打赏
  • 举报
回复
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 没问题
W170532934 2012-04-13
  • 打赏
  • 举报
回复
其实你可以换个思路的吧,为什么不在类里面存放的是指针呢??初始化的时候将指针传递进去,你看呢??
evencoming 2012-04-13
  • 打赏
  • 举报
回复
我觉得现在需要做的是等待,等c++11普及,就可以了

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧