Допустим, у меня есть класс, определенный следующим образом:
class foo{};
Теперь это вполне допустимо;
foo f;
Почему это ошибка компилятора?(uninitialized const ‘f’
)
const foo f;
Почему мы должны это делать?
const foo f = foo();
Я знаю, почему мы не можем сделать это ..
const foo f(); // though it compiles..
Интересно, что справедливо следующее:
const std::string f;
Итак, чего не хватает в foo
?
Я понимаю, что есть три вопроса, и это плохая форма, но я надеюськто-то может прояснить это для меня в одном ответе.
РЕДАКТИРОВАТЬ: пожалуйста, не стесняйтесь закрыть его, если это глупо ...