如何在具有类构造函数
的结构中初始化类假设我的班级可以初始化为client c_3(io_service_2);
现在我在struct
中初始化相同的方式struct a{
boost::asio::io_service io_service_2;
client c_3(io_service_2);
};
我收到的错误如
error: C2061: syntax error : identifier 'io_service_2'
任何帮助将不胜感激。
答案 0 :(得分: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) {}
};
注意类中成员变量声明的顺序是最重要的,因为它规定了成员初始化的顺序,而不管实际成员初始化列表中的顺序是
祝你好运。