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 : 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;
}
il m'affiche une erreur :
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?