Je dispose d'un fichier d'en-tête de classe appelée Grid.h qui contient les éléments suivants 2 objet de données privées:C++ vecteur de vecteurs
vector<int> column;
vector<vector<int>> row;
Et une méthode publique dont le prototype en Grid.h est tel:
int getElement (unsigned int& col, unsigned int& row);
la définition de la fonction mentionnée ci-dessus est défini comme tel dans Grid.cpp:
int getElement (unsigned int& col, unsigned int& row)
{
return row[row][col] ;
}
Quand je lance le programme, je reçois ce erreur:
error C2109: subscript requires array or pointer type
Qu'est-ce qui ne va pas?
Quel est le motif vous prenez ces paramètres par référence? Si quelque chose, ils devraient être une référence constante, mais généralement les types fondamentaux ne devraient pas être transmis par référence, sauf si vous en avez besoin. Aussi, pourquoi avoir deux vecteurs? le vecteur à l'intérieur d'un vecteur est à la fois, votre vecteur 'column' est juste autre chose. – GManNickG