2012-03-01 12 views
1

こんにちは、数日後にエラーが発生しました。コードは同じではありませんが、下に表示されているものと似ています構造体をunordered_mapに渡す際のセグメンテーションエラー

 struct AB{ 

      vector<int> * temp; 

      AB(){ 
       temp = new vector<int>; 

      } 

      AB(const AB &other){ 

        temp = new vector<int> 
        //and I am memberwise copying other.temp to temp. (Not shown here) 
      } 
     ~AB(){ 
         delete AB; 
      } 
     };  

そしてメインクラスで、私はこれが私のセグメンテーションフォールトを与えている。この

 unordered_map<int, AB> mapOfAB; 
     mapOfAB[0].temp->push_back(1); 

をしていますが、私はあればtempをスタック(非動的)変数にすると、正常に動作します。私は十分に具体的なことを願っています。事前

+1

クラッシュのスタックトレースを提供できますか? – templatetypedef

+0

私はすでにコードを変更し、実装を実際に修正しました。これはアフターシェントの多くでした – Phelodas

+0

@Phelodas待って、だから、あなたの問題は解決されていますか...? –

答えて

3

おかげであなたは生のポインタを持っていて、代入演算子を持っていません。あなたはRule of Threeに違反しています。

関連する問題