任何人都有任何線索,這個錯誤實際上可能意味着什麼?我絆倒了一些似乎無法解決的代碼。我已經用h * 2而不是hprime試過了,只是w * 2而不是wprime。每次我得到相同的編譯器(G ++編譯器)的錯誤:「變量名」不能出現在常量表達式中C++
grid.cpp:在構造 '網格::網格(INT,INT)':
grid.cpp:34:錯誤:「hprime '不能出現在一個常量表達式中(編譯器並不總是說hprime,它會說任何變量在那裏,不管是h還是hprime或者寬度)。任何幫助將不勝感激!
class Grid
{
public:
Grid(int x, int y);
~Grid();
void addObstacle(int w, int h);
void toString();
int** grid;
int height;
int width;
};
Grid::Grid(int w, int h)
{
width = w;
height = h;
const int hprime = h*2;
const int wprime = w*2;
grid = new int[wprime][hprime];
for(int x=0;x<wprime;x++) {
for (int y=0; y<hprime;y++) {
grid[x][y] = 0;<br>
}
}
}
它看起來並不像它甚至需要是'const'。你沒有修改它,它只是功能範圍。 – 2009-10-01 03:37:35