J'ai une variable x
, a déclaré que:typeof (x) en tant qu'argument de modèle?
auto x = f(y);
où f
est une fonction et y
une variable, à la fois défini ailleurs. Maintenant, je voudrais déclarer un std::vector
détenant des éléments du type de x
, donc j'écrire:
std::vector<typeof(x)> v;
Il en résulte une erreur du compilateur. Une solution est de mettre ici l'argument explicite de x
, mais je pense que cela va à l'encontre de l'objectif de auto
dans la déclaration ! Donc, comment puis-je utiliser le type de x
en tant qu'argument de modèle, sans écrire explicitement le type (de sorte que dans les changements de type, mon code reste valide).
'decltype (x)'? – peppe
Utilisez 'decltype()' à la place – DimChtz
Voulez-vous dire ['decltype'] (http://fr.cppreference.com/w/cpp/language/decltype)? Ou utilisez-vous en effet GCC et son ['typeof'] (https://gcc.gnu.org/onlinedocs/gcc/Typeof.html)? En outre, pouvez-vous publier le message d'erreur complet du compilateur? – Cornstalks