Выполнение проверок перед списком инициализации

У меня есть член класса A в моем собственном классе, конструктор которого принимает несколько параметров. Я передаю параметры своего класса в конструктор класса A. Но важно, чтобы эти параметры были правильными, поэтому мне нужно проверить их перед конструированием члена класса A. И вот в чем проблема: Я могу пропустить член в списке инциализации членов, фактически вызывая конструктор по умолчанию. После проверки в конструкторе я мог бы вызвать конструктор A в задании. Однако это приведет к ошибке, так как деструктор A является приватным.

Как мне это решить?

MyClass::MyClass(int someParam) : otherMember(2){
//checks for someParam
member = A(someParam); // <- produces error
}
7
задан Sebastian Hoffmann 1 January 2012 в 23:24
поделиться