如果您有一个名为“Rock”的类(class),并且您执行以下操作:

int main()
{
    Rock;
}

为什么会出现“声明未声明任何内容” 错误?

它不应该只调用默认构造函数并在那时创建对象吗?

当然,我将无法使用该对象,并且当它超出函数范围时,它将被销毁,但是为什么不创建它呢?

在某些其他编程语言(如java)中,变量不是必需的。您可以执行 new Rock()之类的操作,就可以了。

我知道这没有用,但我想清除我的困惑。

最佳答案

Rock只是类的名称。没有声明变量名。要调用构造函数/创建对象,您需要声明变量的名称:Rock r;
这会在堆栈上创建一个对象,当它超出范围时将被销毁

关于c++ - “declaration does not declare anything”错误的原因是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30759752/

10-12 20:34