Wer weiß schon, was dieser Fehler eigentlich bedeuten könnte? Ich stolpere über ein bisschen Code, der das nicht zu umgehen scheint. Ich habe es mit nur h * 2 anstelle von hprime versucht, und nur w * 2 statt wprime. Jedes Mal, wenn ich den gleichen Compiler erhalten (g ++ Compiler) Fehler:'Variablenname' kann nicht in einem konstanten Ausdruck erscheinen C++
grid.cpp: Im Konstruktor 'Grid :: Grid (int, int)':
grid.cpp: 34: Fehler: ‚hprime 'kann nicht in einem Konstanten-Ausdruck erscheinen
(der Compiler sagt nicht immer hprime, es wird sagen, welche Variable ist da, sei es h oder hprime oder Breite). Jede Hilfe würde sehr geschätzt werden!
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>
}
}
}
Es sieht nicht so aus, wie es auch sein 'const' muss. Du modifizierst es nicht und es ist nur der Funktionsumfang. –