我是新來的代碼::塊和相當沒有經驗的C++以及。我知道有很多關鍵字,我不應該用於變量名稱,它們通常以不同的顏色顯示,就像它們在visualstudio中一樣。現在,當我將舊的vs項目中的一些代碼片段複製到新的code :: blocks項目時,我的一些變量名突然變成了彩色。例如,在這段代碼中,變量的開始和結束現在都以綠色顯示,我不明白爲什麼。確實代碼::塊保留名稱以外的C++關鍵字?
int begin = 0;
int end = 4;
int myarray[end];
for (int i = begin; i < end; i++)
{
myarray[i] = i;
}
在某些情況下,該代碼甚至不會編譯,我得到了奇怪的「衝突的聲明」的錯誤。我是否可以使用這些名稱,或者它們以某種方式保留在code :: blocks中?我看了一些書,但據我所知,他們沒有C++關鍵字。原因是,我現在在使用C++ 11嗎?我正在使用ide和mingw編譯器的v.12.11。感謝您的幫助。
如果您使用的是C++ 11和'using namespace std;',begin和end實際上是函數。 http://en.cppreference.com/w/cpp/iterator/begin – risingDarkness
我建議避免像開始,結束,索引等所有通用變量名稱。一個更具描述性的名稱將使代碼更清晰,你完全避免這一整個問題。 –
那些不是關鍵字。它們是stantard庫容器成員函數的名稱,也是自C++ 11以來'std ::'名稱空間中的非成員函數的名稱。您的IDE必須經過培訓才能識別它們。您應該避免使用這些名稱,但使用它們並不一定是錯誤。 – juanchopanza