3

I can initialize a std::tuple like this

std::tuple<int,float> t1{ 1,2.2 }; // works

If I want to initialize a tuple of tuples:

std::tuple<std::tuple<int,float> > t2{ 1,2.2}; // fails on gcc5.2.0 & gcc6.1.0
std::tuple<std::tuple<int,float> > t2{{ 1,2.2}}; // works on gcc6.1.0, fails for gcc5.2.0

So I am a bit confused if one of the above lines is correct c++14 code or not.

Simple question: Is it possible to direct initialize a tuple of tuples without using std::make_tuple or other helper types?

I am a bit in fear because of other problems found today like: Confusion while deriving from std::tuple, can not handle std::get

Community
  • 1
  • 1
Klaus
  • 24,205
  • 7
  • 58
  • 113

0 Answers0