"error C2057: 定数式が必要です" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2057: 定数式が必要です。

ソース(バグ有り):

#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; }

スポンサード リンク



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