Код: Выделить всё
#include
#include
int main() {
std::tuple t1{3};
std::tuple t2{t1};
std::cout
#include
#include
#include
int main() {
std::tuple t1{3};
std::tuple t2{t1};
std::cout
[code]#include
#include
#include
int main() {
std::tuple t1{3, 3.14};
std::tuple t2{t1};
std::cout
tuple( const tuple& other ); // (5)
< /code>
It seems that the unary tuple t2< /code> строится с (2) вместо (4) или (5), в то время как кортеж с двумя элементами строится с (4) или (5). < /p>
Так что у меня есть два вопроса < /p>
[*] Это ожидаемое поведение или является ошибкой в реализации STL? Я связан с STDLIBC ++ и LIBC ++ и оба потерпели неудачу. < /Li>
Как я могу обойти эту проблему? Он работает, когда я впервые объявляю T2 Подробнее здесь: https://stackoverflow.com/questions/794 ... y-elements
Мобильная версия