“Erreur: l'expression doit avoir un pointeur de type” si vous utilisez le mot clé “this”

Donc j'ai fait une classe parent, que j'appellerai Parent qui a un Square* de grille variable membre. La grille variable est un pointeur vers un large éventail de Places, qui contiennent key variables membres. (Pensez à ce projet comme une table de hachage (hashtable) Le problème est que je suis prise de fonction dans le Parent classe qui modifie les variables clés de l' Square tableau, et obtenir une erreur. Cette ligne de code compile:

this->grid = new Square[row*col];

mais cette ligne ne compile pas:

this->grid[i*col + j]->key1 = j;

il souligne this et dit d'expression doit avoir un type de pointeur. Je me demandais si quelqu'un a des idées à ce que je fait de mal?

void Parent::initialize(int row,int col) {
    this->grid = new Square[row*col];
    for(int i = 0; i < row; i++) {
        for(int j = 0;j < col; j++) {
            this->grid[i*col + j]->key1 = j;
            this->grid[i*col + j]->key2 = i;
        }
    }
  • Ce type ne grid tenir?
  • effacer redondant this-> " à partir de votre code; il n'est pas le Javascript.
InformationsquelleAutor user1779944 | 2012-10-27