2015-05-24 4 views
0

Как я могу инициализировать класс с в структуре с конструктором классаконструктор класса Внутри Struct

Предположим, что мой класс может инициализировать как 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) {} 
}; 

Примечания Порядка члена объявление переменной в классе является тем, что важно прежде всего, поскольку это диктует порядок инициализации члена независимо от заказа в списке инициализации фактического члена

Удачи.

+0

Привет Спасибо за ответ. Моя реальная проблема была объяснена здесь http://stackoverflow.com/questions/30420182/opaque-pointer-with-class-constructor Надеюсь, что решение здесь также решит эту проблему. – Haris

Смежные вопросы