编译器认为新数组正在创建新对象

Compiler thinks new array is creating new object?

本文关键字:创建 对象 新对象 数组 新数组 编译器      更新时间:2023-10-16

所以,我目前正在尝试编写一个具有两个不同构造函数的程序,一个是默认的,一个是输入的。这些构造函数旨在将全局数组初始化为默认长度或参数指定的长度。

目前我已经声明:

    Room *rooms;

作为私有变量在头文件中。然后我在构造函数中:

    rooms = new Room[defaultRoomCapacity];

在编译时,我收到一个错误,指出没有匹配的函数调用 Room 类的构造函数。好像它认为我试图让房间成为房间的实例?我知道还有其他方法可以实现这一点,但我只是好奇问题可能是什么。

谢谢

不,它调用默认 ctor。确保你声明并定义了它以及一个特殊的ctor。