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; 
    } 
}