我正在尝试用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;
}
但我收到编译错误:'pair'没有命名类型
编译行:g ++ main.cpp -o main.out 操作系统:Ubuntu 16.04 lts g ++: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;
}
你知道吗,为什么会这样?
答案 0 :(得分:5)
我的错,答案很简单:)
1)使用pair
时,我应该包含<utility>
。
2)<iostream>
某处包含<utility>
,这就是为什么在添加程序后成功编译:)