Comparaison entre deux Vector
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
Code:
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;
} |
il m'affiche une erreur :
Code:
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 :
Code:
if(et1[i][j].nom==et2[i][j].nom)
mais c'est pas ce que je veux, dans mon cas . est ce qu'il ya une possibilité s'il vous plait ?