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 ?
Version imprimable
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 ?
Apparemment pas.
Et en biaisant avec ça ?
-- edit --Code:
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 ? :mrgreen:
[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:
1
2
3
4 std::vector<int> v; typedef decltype(v) v_type; v_type::value_type a = 42;
Code:
1
2 decltype(v) v2; v2.push_back(1);