2016-09-28 20 views
-1

セグメンテーションフォールトが発生しているので、このコードで何が間違っていますか? 値によってマップが戻っても問題はありません。C++ - テンプレート関数を参照してSTLマップを渡す

#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

OTに返す必要があります:あなたはおそらくbits' 'から直接のものを含めるべきではありません。 –

+0

@AmiTavoryなぜですか? –

+5

um、myMapIntersectの戻り値はどこですか? – vu1p3n0x

答えて

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; 
} 
関連する問題