Как напечатать вторую часть пары? Пример: pair & lt; int, pair & lt; int, int & gt; & GT;

Я застрял на этом некоторое время, я пытаюсь соединить некоторые данные вместе. Вот мой код

#include<iostream>
#include<utility>

using namespace std;

int main()
{

pair<int, int> data(31,8);
pair<int, pair<int,int> > newData(4,data);

cout << newData.second<< endl;

return 0;.
}

Однако я получаю много ошибок, мне просто нужно, чтобы кто-то указал мне правильное направление. Если вы введете:

cout << newData.first << endl;

Это прекрасно работает, любая помощь будет оценена!

0

Решение

newData.second это пара, поэтому вы получаете доступ к ее членам так же, как вы делаете для data, newdata.second.first а также newdata.second.second,

2

Другие решения

Вы должны рассмотреть std::tuple так как, в конце концов, вы объединяете данные с несколькими парами частей.

Но пока вы придерживаетесь своей текущей формы, вы должны использовать newData.first для первой части, newData.second.first для первой части второй части, и newData.second.second для второй части второй части.

Снова рассмотрим std::tuple,

1

По вопросам рекламы [email protected]