Je suis en train d'accéder à un hana::type
d'une paire en utilisant hana::second
...hana :: seconde ne peut pas en déduire le type
namespace hana = boost::hana;
using namespace hana::literals;
struct Key {};
struct Foo {};
int main() {
auto test = hana::make_tuple(
hana::make_pair(
hana::type_c<Key>,
hana::type_c<Foo>));
typename decltype(hana::type_c<Foo>)::type finalTest; //Ok
typename decltype(hana::second(test[0_c]))::type finalTest2; //Error
}
mais je reçois l'erreur du compilateur suivant:
stacktest.cpp: In function ‘int main()’:
stacktest.cpp:17:12: error: decltype evaluates to ‘boost::hana::type_impl<Foo>::_&’, which is not a class or enumeration type
typename decltype(hana::second(test[0_c]))::type finalTest2;
Pourquoi le résultat de hana::second
ne renvoie pas le contenu hana::type
comme prévu?
Je downvoted parce que c'est Stack Overflow et pas What's App - S'il vous plaît être plus formel dans vos titres et supprimer le langage inapproprié comme "_wtf_" –
Pourriez-vous s'il vous plaît coller le message d'erreur et nous dire quel est le résultat que vous attendez? – Roberto
Quelle erreur obtenez-vous? Est-ce que 'boost :: tuple' a un' operator [] '? – NathanOliver