我在自己的类中有一个类 A 的成员,它的构造函数接受多个参数。我将自己类的参数转发给类 A 的构造函数。但重要的是这些参数是正确的,所以我需要在构造 A 的成员之前检查它们。问题是:我可以省略成员中的成员初始化列表,有效调用默认构造函数。在构造函数中检查之后,我可以在分配中调用 A 的构造函数。虽然,这会产生错误,因为 A 的析构函数是私有的。
我该如何解决这个问题?
MyClass::MyClass(int someParam) : otherMember(2){
//checks for someParam
member = A(someParam); // <- produces error
}