Я пытаюсь скомпилировать очень простую программу на языке C++ компилятором g ++.Ошибка компиляции C++: «Пара» не называет тип
//main.cpp
#include <stdio.h>
using namespace std;
typedef pair<int,int> pii;
int main(int argc, char *argv[])
{
printf("Hi");
return 0;
}
Но я получаю ошибку компиляции: 'пара' не называет предустановленный вариант
Compile строку: г ++ main.cpp -o main.out ОС: Ubuntu 16.04 LTS г ++: GCC версии 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.2)
Если я просто добавить #include<iostrem>
программа компилируется и работает успешно :)
#include <stdio.h>
#include<iostream>
using namespace std;
typedef pair<int,int> pii;
int main(int argc, char *argv[])
{
printf("Hi");
return 0;
}
Знаете ли вы, почему это происходит?
Вы знаете, что заголовки для, не так ли? – tkausl
Потому что 1. Вам нужно включить правый заголовочный файл и 2. вам нужно полностью [забыть, что 'using namespace std;' существует] (http://stackoverflow.com/questions/1452721/why-is-using -namespace-станд рассмотренный-плохо-практика). –
Любой стандартный заголовок C++ может включать любой другой заголовок, поэтому случайный заголовок может это сделать. Лучший способ - включить заголовок '', где предполагается объявить [' std :: pair'] (http://en.cppreference.com/w/cpp/utility/pair). –