4

今日は、自分のプロジェクトを Visual C++ 2010 から Visual C++ 2013 に移行しようとしました。

Visual C++ 2013 でこのエラーが発生しましたが、2010 バージョンでコンパイルしたときには発生しませんでした。

//somewhere in the SimpleObject_list class
std::unordered_map<std::string, SimpleObject *> Object_list; 


//method which is giving me the error
void SimpleObject_list::Add(const char *Object_name, SimpleObject * Object_pointer){
    cout << "SimpleObject listed as: " << Object_name << endl;
    Object_list.insert(std::make_pair<std::string,SimpleObject *>(Object_name, Object_pointer));
}

エラーは次のとおりです。

error C2664: 'std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,SimpleObject *> std::make_pair<std::string,SimpleObject*>(_Ty1 &&,_Ty2 &&)' : cannot convert argument 2 from 'SimpleObject *' to 'SimpleObject *&&'

私は何を間違っていますか?vc++ 2010 でエラーが発生しなかったのはなぜですか?

ありがとう

4

1 に答える 1