前提・実現したいこと
C++でMMDAgentをビルドしています。
ビルド中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラー (アクティブ) E0304 関数テンプレート "std::make_pair" のインスタンスが引数リストと一致しません Library_Open_JTalk
該当のソースコード
C++
1 { 2 os_.clear(); 3 os_ << ufeature2 << ' ' << path->rnode->char_type << '\0'; 4 const std::string key(os_.str()); 5 std::map<std::string, std::pair<const int *, size_t> >::iterator 6 it = feature_cache_.find(key); 7 if (it != feature_cache_.end()) { 8 path->rnode->fvector = it->second.first; 9 it->second.second++; 10 } else { 11 if (!buildUnigramFeature(path, ufeature2.c_str())) return false; 12 feature_cache_.insert(std::pair 13 <std::string, std::pair<const int *, size_t> > 14 (key, 15 std::make_pair<const int *, size_t> 16 (path->rnode->fvector, 1))); 17 } 18 }
試したこと
Googleで調べた。C++11にて、make_pairの仕様変更があり、エラーが出ているようなのは、
わかった。
補足情報(FW/ツールのバージョンなど)
VS2017にて、ビルド。元はVS2010
「make_pairの仕様変更でエラーが出る」と判断した根拠は? どう変わったんです?

回答2件
あなたの回答
tips
プレビュー