Bonsoir ,
Est ce qu'il y a une autre possibilité de comparer deux vecteur sans accès à ses variable voici un exemple pour bien comprendre ce que je veux
il m'affiche une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #include <iostream> #include <vector> using namespace std; struct etudiant{string nom;string prenom;}; int main() { vector<vector<etudiant> > et1; vector<vector<etudiant> > et2; vector<etudiant> a,b,c,d; etudiant a1,b1,c1,d1; a1.nom="nom1";a1.prenom="prenom1"; b1.nom="nom2";b1.prenom="prenom2"; c1.nom="nom1";c1.prenom="prenom1"; d1.nom="nom4";d1.prenom="prenom4"; a.push_back(a1); b.push_back(b1); c.push_back(c1); d.push_back(d1); et1.push_back(a);et1.push_back(b); et2.push_back(c);et2.push_back(d); for(int i=0;i<et1.size();i++) for(int j=0;j<et1[i].size();j++) { if((et1[i][j])==(et2[i][j])) cout<<et1[i][j].nom<<endl; } return 0; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 C:\Essaye\Exemple\main.cpp|30|error: no match for 'operator==' in '((std::vector<etudiant, std::allocator<etudiant> >*)et1.std::vector<_Tp, _Alloc>::operator[] [with _Tp = std::vector<etudiant, std::allocator<etudiant> >, _Alloc = std::allocator<std::vector<etudiant, std::allocator<etudiant> > >](((unsigned int)i)))->std::vector<_Tp, _Alloc>::operator[] [with _Tp = etudiant, _Alloc = std::allocator<etudiant>](((unsigned int)j)) == ((std::vector<etudiant, std::allocator<etudiant> >*)et2.std::vector<_Tp, _Alloc>::operator[] [with _Tp = s| ||=== Build finished: 1 errors, 2 warnings ===|
dans la condition j'aurai pu faire :
mais c'est pas ce que je veux, dans mon cas . est ce qu'il ya une possibilité s'il vous plait ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(et1[i][j].nom==et2[i][j].nom)
Partager