проблема с массивом std :: pair в c ++? - PullRequest
1 голос
/ 14 июля 2011

Сегодня я поиграл с некоторым кодом, и мне пришла в голову идея поместить несколько пар в массив, но я не смог заставить его работать.Вот код:

#include <utility>
#include <iostream>
std::pair<double,double> * pairArr;
int main(){
   pairArr = new std::pair<double,double> [3];   //creating the array

   pairArr [0] = make_pair(1.0,1.2);             //Filling arbitrary numbers
   pairArr [1] = make_pair(0.2,1.4);
   pairArr [2] = make_pair(0.8,1.3);

   std::cout<< pair[0].first << pair[1].second << pair[2].first   //Output
   return 0;
}

на выходе этой программы не все, что я ввел.

1 Ответ

9 голосов
/ 14 июля 2011

Запущенная программа не компилируется.

Изменение вывода на

std::cout << pairArr[0].first << pairArr[1].second << pairArr[2].first;

дает ожидаемый результат, 11.40.8, то есть 1 1.4 0.8 без пробелов: https://ideone.com/XAPHX

...