Chiunque ha idea di cosa possa effettivamente significare questo errore? Sto inciampando in un po 'di codice che non riesco a capirlo. L'ho provato con h * 2 invece di hprime, e solo w * 2 invece di wprime. Ogni volta che ho lo stesso compilatore (g compilatore ++) errore:'nome variabile' non può apparire in un'espressione costante C++
grid.cpp: nel costruttore 'Griglia :: griglia (int, int)':
grid.cpp: 34: errore: 'hprime 'non può apparire in una costante-espressione
(il compilatore non dice sempre hprime, dirà qualunque variabile ci sia, sia h o hprime o larghezza). Qualsiasi aiuto sarebbe molto apprezzato!
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>
}
}
}
Non sembra che ha bisogno anche di essere 'const'. Non lo stai modificando ed è solo lo scopo della funzione. –