Je ne suis pas très bon avec C++ et je me demandais pourquoi une erreur se produisait avec les tableaux à l'intérieur des tableaux, mais fonctionne bien avec un tableau normal (et comment le réparer).Essayer de stocker un tableau complexe dans une classe C++
Heres le code (juste essayer de stocker un tableau dans une classe à la construire):
class foo {
int* stored;
public:
foo(int* ptr) {
stored = ptr;
}
};
int main() {
int arr[][2] = {{1,4},{5,7},{2,5}};
foo obj(arr);
}
Lorsque le tableau est quelque chose comme int arr[] = {1,2,3}
cela fonctionne sans erreur, mais le code normal me donne cette erreur:
error: no matching function for call to 'foo::foo(int [3][2])'
J'ai cherché pendant un moment, mais je ne sais pas vraiment quoi chercher en premier lieu, ce qui est la raison pour laquelle je demande ici (mais je pense qu'il a quelque chose à voir avec des pointeurs). Merci pour toute aide.
@texasbruce Un tableau de tableaux n'est pas ** identique à un pointeur sur un pointeur. Voir par exemple [Cette réponse à moi pour voir pourquoi] (http://stackoverflow.com/a/18440456/440558). –