Я новичок в C++ и пытаюсь изучить концепцию указателя. Я смущен, почему третье и четвертое высказывания приводят к ошибкам, в то время как первая и вторая работают просто отлично. Заранее благодарю за любую помощь!Почему int * const p1; приводит к ошибке, в то время как int * p1; работает просто отлично
int *p1; //Ok
const int *p1;//Ok
int *const p1; //error: default initialization of an object of const type 'int *const'
const int *const p1; //error: default initialization of an object of const type 'const int *const'
p.s-- Я понимаю, что это хорошая практика, чтобы инициализировать все указатели при объявлении их или, по крайней мере, установить их значение nullptr или 0. Я задал этот вопрос, потому что я хочу, чтобы понять концепцию позади него.
Возможный дубликат [Почему переменные const должны быть инициализированы сразу?] (Http://stackoverflow.com/questions/8440381/why-do-const-variables-have-to-be-initialized-right- далеко) – Drop