Error:类Patient不存在默认构造函数
时间: 2024-01-05 09:05:06 浏览: 28
这个错误提示是因为在创建一个Patient对象时,没有定义默认的构造函数。默认构造函数是没有参数的构造函数,如果你没有定义它,那么在创建对象时,编译器就无法找到它,从而产生编译错误。为了解决这个问题,你需要在Patient类中定义一个默认构造函数,例如:
```
class Patient {
public:
Patient() {
// 默认构造函数的实现
}
// 其他成员函数和数据成员的定义
};
```
这样,你就可以创建一个Patient对象了,例如:
```
Patient p; // 创建一个Patient对象,使用默认构造函数
```
相关问题
error C2512: “ProcessVar”: 没有合适的默认构造函数可用
这个错误通常是因为你在使用一个类时,没有定义一个默认构造函数。默认构造函数是一个没有参数的构造函数,如果你没有显式地定义一个默认构造函数,编译器会自动生成一个默认构造函数。但是,如果你的类中有其他构造函数,并且没有显式地定义一个默认构造函数,编译器将无法自动生成默认构造函数,就会出现这个错误。
解决方法是显式地定义一个默认构造函数。例如,在类的定义中添加以下代码:
```
class ProcessVar
{
public:
ProcessVar() {} // 默认构造函数
// 其他构造函数和成员函数
};
```
这样就可以解决这个问题了。
1>d:\vs2017professional15.9.57\ide\vc\tools\msvc\14.16.27023\include\tuple(1305): error C2512: “Speaker::Speaker”: 没有合适的默认构造函数可用
这个错误是因为在使用Speaker类时,没有提供合适的默认构造函数。默认构造函数是一个不带参数的构造函数,如果没有定义,则需要手动提供一个构造函数。解决这个问题的方法有两种:
1.提供一个默认构造函数
```c++
class Speaker {
public:
Speaker() {} // 提供默认构造函数
Speaker(string name) : m_name(name) {}
private:
string m_name;
};
```
2.在创建Speaker对象时提供参数
```c++
Speaker s("John");
```