假设我有一个定义如下的类:
class foo{};
现在,这是完全可接受的;
foo f;
为什么会是编译错误?(未初始化的常量'f'
)
const foo f;
为什么我们必须要这样做?
const foo f = foo();
我知道我们为什么做不到这个...
const foo f(); // though it compiles..
有趣的是,以下代码是有效的:
const std::string f;
那么foo
缺少什么?
我意识到那里有三个问题,这样做很不好,但我希望有人能在一个答案中为我解决这个问题。
编辑:如果这个问题很蠢,请随意关闭它...