Почему нужно повторять спецификатор const во время определения, если объявление как const выполняется где-то еще?
После решенияэтот простой вопросЯ должен был спросить:
-> В файле H в классе ex определен постоянный статический член, например, :
class ex {
const static int my_ex;
};
-> В файле CPP указано значение
ex::my_ex = 32;
И тогда возникает ошибка «конфликтующие объявления» (а также «не называет тип»). Я понимаю чтоопределение в файле CPP такжедекларация который создает конфликт, видимый из компоновщика, НО, почему только оConst спецификатор (и тип), а нестатический один ? Мне нужно только написать
const int ex::my_ex = 32;
чтобы получить его для компиляции. Но не статично ... Почему нет? Почему я не могу простоопределять и не повторятьдекларация связанные шаги (тип, конкретные идентификаторы)?