E1790 无法引用 "Warehouse::ProductNode" 的默认构造函数 -- 它是已删除的函数
时间: 2024-05-03 14:18:53 浏览: 245
这个错误通常是因为你在使用一个已被删除的默认构造函数。
在 C++11 中,当一个类有自定义的构造函数时,编译器就不会再自动生成默认构造函数。如果你需要使用默认构造函数,你需要显式地声明和定义它。
如果一个类的默认构造函数被删除了,这个类就不能再使用默认构造函数,否则就会出现编译错误。
解决方案有两种:
1. 定义一个自定义的默认构造函数。
在你的类中添加一个自定义的默认构造函数,以便你可以在需要时调用它。例如:
```cpp
class ProductNode {
public:
ProductNode() = default;
// ...
};
```
2. 避免使用默认构造函数。
如果你不需要默认构造函数,你可以在创建对象时使用其他构造函数。例如:
```cpp
ProductNode node("product name", 100, 10);
```
这样就可以避免使用默认构造函数,从而避免出现编译错误。
阅读全文