此代码出了什么问题,因为我遇到了分段错误 似乎按值返回地图不成问题。
#include<bits/stdc++.h>
using namespace std;
template<typename T>
T myMapIntersect(T& left, T& right)
{ }
int main()
{
map<string, int> m;
m["aa"] = 1;
m["bb"] = 1;
m["vf"] = 1;
m["hh"] = 1;
myMapIntersect< map<string,int> >(m, m);
return 0;
}
答案 0 :(得分:2)
您需要返回您的功能
#include<bits/stdc++.h>
using namespace std;
template<typename T>
T myMapIntersect(T& left, T& right)
{
return left;
}
int main()
{
map<string, int> m;
m["aa"] = 1;
m["bb"] = 1;
m["vf"] = 1;
m["hh"] = 1;
myMapIntersect< map<string,int> >(m, m);
return 0;
}