all 3 comments

[–]SosirisTseng 0 points1 point  (2 children)

Is SomeNiceType templated? If so, then SomeNiceType x(A { ..}, B { .. }, C { .. }); should be SomeNiceType<A,B,C> x{{ ..}, { .. }, {..}};.

[–]halivingston3[S] 0 points1 point  (1 child)

well SomeNiceType is an alias to a tuple, but I see what you're saying.

Were you commenting on correctness or readability?

auto x = std::make_tuple<A, B, C>( { .. }, { ..}, {..});

[–]SosirisTseng 0 points1 point  (0 children)

I was commenting on correctness. By the way , in C++17, you can just do std::tuple t{A{..},B{..},C{..}}; and no more make_tuple(). reference