0
votes

Comment accéder à .seconde dans std :: paire avec std :: variante?

J'utilise mingw64 avec GCC 7.5.0 qui active C ++ 17 sur Dev C ++ 5.11 sous Windows 7.

Maintenant comment accéder à .seconde Dans la paire suivante ? xxx


1 commentaires

Plus simple avec le même problème: variante v; (5); Cout << v;


3 Réponses :


0
votes

Vous y accédez correctement, il est juste que COUT ne sait pas quoi faire avec votre variante . Soit extraire un type spécifique de celui-ci, soit écrire un opérateur personnalisé <<< / code> pour le flux qui fait ce que vous en avez besoin à faire.


2 commentaires

Pouvez-vous me montrer un petit exemple ou me donner un avantage sur où commencer?


Exemple d'obtenir des données d'une variante ? Utilisez std :: get_if



0
votes

extraire une valeur spécifique de la variante basée sur le type: xxx


0 commentaires

1
votes

Utiliser std :: get code> pour revenir à l'objet si vous connaissez son type.

std::cout << std::get<int>(x[0].second)


0 commentaires