Bonjour,

J'ai un soucis concernant le parcours d'un vector de set. Je désire insérer dans un tableau 2D deux valeurs si jamais une condition est respectée. Pour cela, je déclare deux variables de type size_t pour parcourir mon tableau 2D ( vu que c'est juste le remplissage d'une ligne si une condition est respectée, je n'ai pas besoin d'iterator). Ces deux variables vont s'incrémenter au fur en a mesure du passage dans la boucle if pour éviter d’écrire sur une ligne déjà remplis.

Ci-dessous mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
typedef size_t                            format;
typedef set< etat_t >                  l_format;
typedef vector< etatset_t >          virtuelle;
 
Ensuite, dans une structure je déclare :
 
struct Mat{
 
virtuelle            virt
}
Ensuite, j'ai un fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
bool Test(Mat& at) {
 
size_t i_virt=0;
size_t j_virt=0;
Ensuite je lit dans mon code un fichier et je rentre deux valeurs dans deux variables 's' et 't' de type format.
Je réalise après un test, et j'aimerai que si cette condition est vrai, je rentre les valeurs s et t dans le tableau virt. Pour cela, je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
if (valeur=true){
 
        at.virt[i_virt][j_virt]=(s);
        at.virt[i_virt][j_virt+1]=(t);
        ++i_epsilon;
        j_epsilon=0;
      }
Lors de la compilation, j'ai cette erreur :
error: no match for ‘operator[]’ (operand types are ‘std::set<long unsigned int>’ and ‘size_t {aka long unsigned int}’)
at.virt[i_virt][j_virt]=(s);
error: no match for ‘operator[]’ (operand types are ‘std::set<long unsigned int>’ and ‘size_t {aka long unsigned int}’)
at.virt[i_virt][j_virt+1]=(t);

Quelqu'un aurait une idée d'où vient le problème ? Je pense que c'est mes variables pour parcourir le tableau 2D mais je ne comprend pas pourquoi .. Sinon je suis preneur pour une autre méthode pour inserer les valeurs de s et t dans mon tableau virt 2D.

Merci d'avance !

Roate!