comment passer un vector ?
Bonjour,
J'ai une classe A :
Code:
1 2 3 4 5 6 7 8 9
|
class A{
public :
// méthode qui renvoie le pointeur du tableau dynamique m_vecFloat
std::vector<float>* getVector() {return &m_vecFloat};
private :
//le "vector" en question
std::vector<float> m_vecFloat; |
et dans le main, j'aimerais accéder aux données du std::vector mais je n'y arrive pas, voilà comment je procéde :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
int main()
{
A monObjet; //on instancie A
std::vector<float>* VecPtr;//je crée pointeur de std::vector<float>
VecPtr = monObjet.getVector();//on fait pointer "VecPtr" sur le std::vector de "monObjet"
float b(*VecPtr[0]);//j'essaie d'accéder à la case 0 de mon std::vector par le biais de mon pointeur
return 0;
} |
Cependant mon compilateur n'apprécie pas cette manière de faire :
Code:
erreur: no match for operator* in ** VecPtr
En fait, j'ai une classe qui se charge de parser un fichier et remplir deux tableaux à partir des données de ce fichier, et j'aimerais pouvoir récuperer ses tableaux depuis le main.
Avez vous une solution pour répondre à ce problème ?
Merci, et bonne année !