Call to implicitly-deleted default constructor of 'baseinfo'
时间: 2023-12-26 18:03:41 浏览: 194
NR5G网络拒绝码-5gsm_cause = 10 (0xa) (Implicitly de-registered).docx
这个错误提示通常是因为你在派生类中定义了构造函数,但是没有显式调用基类的构造函数,导致编译器默认调用基类的默认构造函数时出现了问题。
解决方法是在派生类的构造函数中显式调用基类的构造函数,例如:
```
class BaseInfo {
public:
BaseInfo() = default;
BaseInfo(const std::string& name, int age) : name_(name), age_(age) {}
private:
std::string name_;
int age_;
};
class DerivedInfo : public BaseInfo {
public:
DerivedInfo() : BaseInfo(), score_(0) {} // 显式调用基类的默认构造函数
DerivedInfo(const std::string& name, int age, int score) : BaseInfo(name, age), score_(score) {}
private:
int score_;
};
```
在派生类的构造函数中,调用基类的构造函数时需要注意参数的传递,如果基类有多个构造函数,需要根据需要选择合适的构造函数进行调用。
阅读全文