Compiler errors 在C+中定义和使用std::map时出现编译错误+;
此代码:Compiler errors 在C+中定义和使用std::map时出现编译错误+;,compiler-errors,Compiler Errors,此代码: #include <map> #include <utility> #include <functional> #include <iterator> typedef std::map<int,int> mymap; mymap test; test.insert(std::make_pair(1,2)); 什么可能导致此错误?您需要放置test.insert(std::make_pair(1,2))在intmain()
#include <map>
#include <utility>
#include <functional>
#include <iterator>
typedef std::map<int,int> mymap;
mymap test;
test.insert(std::make_pair(1,2));
什么可能导致此错误?您需要放置
test.insert(std::make_pair(1,2))代码>在intmain(){}
中,它将与您一起编译而不会出错
以下是一些测试用例的完整示例:
#include <iostream>
#include <map>
#include <utility>
#include <functional>
#include <iterator>
using namespace std;
typedef std::map<int,int> mymap;
mymap test;
int main()
{
map<int, int>::iterator itr;
test.insert(std::make_pair(1,2));
test.insert(std::make_pair(3,4));
test.insert(std::make_pair(5,6));
test.insert(std::make_pair(10,11));
cout<<"Size: "<<test.size()<<endl;
for (itr = test.begin(); itr != test.end(); ++itr) {
cout << "First: " << itr->first<< " Second: " << itr->second <<endl;
}
}
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
typedef std::map mymap;
mymap试验;
int main()
{
迭代器itr;
测试插入物(标准:制作成对(1,2));
测试插入物(标准:制作成对(3,4));
测试插入物(标准:制作成对(5,6));
测试插入物(标准::制作成对(10,11));
你需要把test.insert(std::make_pair(1,2));
放在int main(){}
里面,它会和你一起编译,不会出错。谢谢。它成功了。把这个作为答案,我会接受的。我把它放进去,谢谢:)
#include <iostream>
#include <map>
#include <utility>
#include <functional>
#include <iterator>
using namespace std;
typedef std::map<int,int> mymap;
mymap test;
int main()
{
map<int, int>::iterator itr;
test.insert(std::make_pair(1,2));
test.insert(std::make_pair(3,4));
test.insert(std::make_pair(5,6));
test.insert(std::make_pair(10,11));
cout<<"Size: "<<test.size()<<endl;
for (itr = test.begin(); itr != test.end(); ++itr) {
cout << "First: " << itr->first<< " Second: " << itr->second <<endl;
}
}