2015-05-24 202 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