X f()是什么意思?

Ary*_*yan 3 c++

我看到这段代码,我无法理解它的含义.我知道我们如何使用默认构造函数,但这不是默认构造函数.这是什么?

class X
{
        ...
};

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

Alo*_*ave 8

它声明了一个f不带参数并返回类型的函数X.
这在C++中也称为Most Vexing Parse.它是C++标准定义声明解释规则的方式的副产品.