Hello,
Si je dispose d'une instance, comment accéder aux traits déclarés dans la définition de la classe de cette instance ?
Je suis encore bloqué par le fait que le C++11 n'a pas de réflexion ?
Hello,
Si je dispose d'une instance, comment accéder aux traits déclarés dans la définition de la classe de cette instance ?
Je suis encore bloqué par le fait que le C++11 n'a pas de réflexion ?
decltype(obj)::type ne fonctionne pas ?
Et en biaisant avec ça ?
-- edit --
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 std::vector<int> v; typedef decltype(v) v_type; v_type::value_type a = 42;
En effet, on ne peut apparemment pas appliquer un scope (::) à un decltype.
Certains ont déjà fait remarquer cette lacune : http://en.wikipedia.org/wiki/Decltype#Semantics
Ton compilo et les miens (MinGW 4.2 et Visual 2010) ne l'ont toujours pas implémenté.
Que dire de plus ?
[QUOTE=cob59;6481118]Et en biaisant avec ça ?
Pour info, compile sans problème avec gcc 4.4.5 sur Ubuntu, de même que l'utilisation directe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 std::vector<int> v; typedef decltype(v) v_type; v_type::value_type a = 42;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 decltype(v) v2; v2.push_back(1);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager