"声明不声明任何内容"错误的原因是什么?

ara*_*guy 1 c++

如果你有一个名为'Rock'的课程,你可以这样做: -

int main()
{
    Rock;
}
Run Code Online (Sandbox Code Playgroud)

你为什么得到"声明没有声明什么"的错误?

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

当然,我将无法使用该对象,当它超出函数范围时会被破坏,但为什么不创建它呢?

在其他一些编程语言中,如java,变量不是强制性的.你可以做一些像新摇滚()的事情,你会没事的.

我知道这没什么用,但我想澄清我的困惑.

edt*_*guy 5

Rock只是班级的名字.没有声明变量名称.要调用构造函数/创建对象,需要声明变量的名称: Rock r;

这会在堆栈上创建一个对象,当它超出范围时会被销毁