标题来自著名网站C ++ FAQ马歇尔克莱因。
作者声称,存在以下两个代码示例之间的差。
假设List是某个类的名称。 然后,函数f()声明名为x本地列表对象:
void f()
{
List x; // Local object named x (of class List)
...
}
但是函数g()中声明了一个名为X()函数返回一个列表:
void g()
{
List x(); // Function named x (that returns a List)
...
}
这是真的错用第二方案?
如果它真的是一个声明不会编译器抱怨你不能在函数内声明的功能?