Я довольно новичок в C++, и я смущаюсь при попытке прочитать такие прототипы.Почему const MyClass const * недействителен?
Этот прототип "строит" в Visual Studio 2012 (в статической библиотеке Native C++, а не C++/CLI), хотя это не делает константу указателя. Я заметил, что это выдает предупреждение, которое я не видел сначала.
C++ Visual Studio 2012
int intTest =3;
int intTest2 = 5;
const int const* pointerTest = &intTest;
pointerTest = &intTest2; //This works
const int* const pointerTest2 = &intTest;
pointerTest2 = &intTest2; //This doesn't build because the pointer is constant.
я понял, моя ошибка, потому что, когда я пытался построить этот код в Linux (Затмения с GCC 4.6.3) он выдает ошибку:
Я написал это вместо const MyClass * const по ошибке, но я этого не заметил, потому что Visual Studio не выбрасывала ошибка.
Почему этот синтаксис не так? Я не писал это специально, но я хотел бы понять.
http://kuhllib.com/2012/01/17/continental-const-placement/ – BoBTFish