Salut à tous,
J'aurai besoin qu'un oeil neuf se penche sur mon problème, parce que je ne comprends vraiment pas d'où il vient...

Voici quelques structures de données :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
typedef std::pair<int, bool> activable_node;
typedef std::vector<activable_node> activable_nuplet;
typedef std::vector<activable_nuplet> activable_nuplet_pool;
Et voici un objet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::vector<activable_nuplet_pool> childs_pools;
Normalement, childs_pools est un vecteur de vecteur de vecteur de paires.
Donc childs_pools[i] est un activable_nuplet_pool,
childs_pools[i][j] un activable_nuplet,
childs_pools[i][j][k] un activable_node.

Eh bien non.
J'apelle cette fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
childs_pools[i+1][k][y].size()
Et le compilo me retourne la remarque suivante :

erreur: ‘struct std::pair<int, bool>’ has no member named ‘size’

WTF ?

Quand j'essaie d'utiliser childs_pools[i+1][k][y][b].first, il tire encore plus la tête selon quoi l'opérateur [] n'est pas défini pour les paires.

Bref, y'a une couille dans le potage, oui, mais où est-elle ?

Tout ma gratitude à celui qui détecte où ais-je fait mon erreur...

Merci d'avance,
El Charpi.