【发布时间】:2014-01-02 14:18:13
【问题描述】:
我是 C++ 的新手,在尝试阅读此类原型时会感到困惑。
这个原型在 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(Eclipse with GCC 4.6.3)中构建这段代码时,它会抛出一个错误:
重复的“常量”
我错误地写了这个而不是 const MyClass* const,但我没有注意到它,因为 Visual Studio 没有抛出错误。
为什么这个语法是错误的?我不是故意写的,但我想了解。
【问题讨论】: