"" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2783: 'std::basic_string<_Elem,_Traits,_Alloc> std::operator +(std::basic_string<_Elem,_Traits,_Alloc> &&,const _Elem)': テンプレート 引数を '_Traits' に対して減少できませんでしたC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xstring(2446): note: 'std::operator +' の宣言を確認してください

ソース(バグ有り):

#include <iostream>
#include <string>
#include <map>

using namespace std;
int main()
{
//連想配列を定義します。キーは string型、データは int 型を指定しています。
map<string, int> data;
data["shift_jis"] = 932;
data["ascii"] = 437;
cout << "shift_jis = " << data["shift_jis"] << endl+
cout << "ascii = " << data["ascii"] << endl; }


原因:


対処:


ソース(修正済み):

#include <iostream>
#include <string>
#include <map>

using namespace std;
int main()
{
//連想配列を定義します。キーは string型、データは int 型を指定しています。
map<string, int> data;
data["shift_jis"] = 932;
data["ascii"] = 437;
cout << "shift_jis = " << data["shift_jis"] << endl;
cout << "ascii = " << data["ascii"] << endl; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]