Почему нужно повторять спецификатор const во время определения, если объявление как const выполняется где-то еще?

После решенияэтот простой вопросЯ должен был спросить:

-> В файле H в классе ex определен постоянный статический член, например, :

class ex {
    const static int my_ex;
};

-> В файле CPP указано значение

ex::my_ex = 32;  

И тогда возникает ошибка «конфликтующие объявления» (а также «не называет тип»). Я понимаю чтоопределение в файле CPP такжедекларация который создает конфликт, видимый из компоновщика, НО, почему только оConst спецификатор (и тип), а нестатический один ? Мне нужно только написать

const int ex::my_ex = 32;

чтобы получить его для компиляции. Но не статично ... Почему нет? Почему я не могу простоопределять и не повторятьдекларация связанные шаги (тип, конкретные идентификаторы)?

Ответы на вопрос(1)

Ваш ответ на вопрос