Salut,
Déjà, je ne suis pas sur que j'utiliserais un std::vector<std::vector<> > pour rerpésenter un tableau 2D... Il existe des classes permettant de représenter des matrices qui me semble autrement plus intéressantes à l'emploi, surtout si l'idée est de représenter un tableau deux dimension "plein" et "carré"
De plus, comme le membre tab_2D de type vector<vector<> > est privé dans la classe, il est "normal" que l'opérateur [] qui est défini pour la classe vector ne soit pas reporté sur la classe test...
En effet, le compilateur n'a, pour l'instant, aucun moyen de savoir comment implémenter cet opérateur pour ta classe.
Il faudrait donc, au minimum, définir l'opérateur [] pour la classe test, mais cela aura pour conséquence, si tu ne t'y prend pas correctement d'exposer le contenu d'un membre contenu dans ta classe (en l'occurrence, le std::vecto<> contenu dans tab_2D, ce qui ne me semble pas être la meilleur solution.
Au final, l'idéal est, sans doute, de ne pas utiliser l'opérateur [], mais de définir un comportement particulier (par exemple ceill(line, col) qui renverra tout de suite... la valeur se trouvant en lign / colonne

Partager