2015-05-24 152 views
0

我怎么能在一个结构初始化类与类的构造类构造函数中的结构

假设我的类可以初始化像client c_3(io_service_2);

现在,当我初始化一个结构

struct a{ 
    boost::asio::io_service io_service_2; 
    client c_3(io_service_2); 
}; 
内同样的方式

我得到如下错误:

error: C2061: syntax error : identifier 'io_service_2' 

任何帮助将不胜感激。

回答

2

如果您的目的是为默认初始化io_service_2成员,然后用它来初始化c_3,并是会员,则需要一个成员初始化列表

struct a 
{ 
    boost::asio::io_service io_service_2; 
    client c_3; 

    a() : io_service_2(), c_3(io_service_2) {} 
}; 

Note成员的顺序在类变量声明是什么,是高于一切的重要,因为这决定了成员初始化的顺序,无论在实际的成员初始化列表中的顺序的

祝你好运。

+0

嗨感谢您的回答。我真正的问题是这里解释http://stackoverflow.com/questions/30420182/opaque-pointer-with-class-constructor我希望这里的解决方案也将解决这个问题。 – Haris