Hi,
the following code:
#include <tuple> struct Foo { std::tuple<int> inner; template <unsigned Idx> auto get() const -> decltype(std::get<Idx>(inner)) { return std::get<Idx>(inner); } }; int main() { Foo f; f.get<0>(); }
produces the following error:
1>main.cpp(12): error : no instance of function template "Foo::get" matches the argument list 1> object type is: Foo 1> f.get<0>(); 1> ^
It seems as if the compiler is not able to deduce the trailing return type.
Best regards,
Manuel Pöter