C++の初心者です。よろしくお願いします。
DirectXを使っていて簡単なゲームを作っていまして、
mapを使っていると、このようなエラーが出てしまいどうしても理由わかりませんでした。
class D2DMap : public GameTexture{
protected:
GameTexture** CopyTexture;
int MaxMass;
int WidthMass;
int HeightMass;
int WidthMassPixel;
int HeightMassPixel;
int MassInfo[30][30];
public:
D2DMap();
virtual ~D2DMap();
HRESULT LoadMapTexture(int widthmass,
int widthmasspixel,int heightmass, int heightmasspixel,
const char* FileName, D3DCOLOR color);
HRESULT LoadTextMass(const char* FileName);
int GetWidthMassPixel(){ return WidthMassPixel;}
int GetWidthMassNum(){ return WidthMass;}
int GetHeightMassPixel(){ return HeightMassPixel;}
int GetHeightMassNum(){ return HeightMass;}
int GetMassInfo(int x, int y){ return MassInfo[y][x];}
void DrawMap(D3DCOLOR color);
void DrawCopyMap(D3DCOLOR color);
void SetCopyTex(GameTexture* copy){ CopyTexture= ©}
void Delete(){}
};
map<string , D2DMap*> MapBox; と定義して
string Name="--------";
D2DMap map;
MapBox.insert( map<string, D2DMap*>::value_type(Name, &map));
としたとこと
error C2275: 'std::string' : この型は演算子として使用できません
'std::string' の宣言を確認してください。
error C2059: 構文エラー : '>'
error C2039: 'value_type' : '`global namespace'' のメンバではありません
というエラーが出てきました。
mapのfind や iterator は可能なのですがinsertの場合エラー
となり、理由が全く分かりません。詳しい方アドバイスをお願いしたい
のですが、よろしくお願いします。
VC++2008 を使っています。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> MapBox.insert( map<string, D2DMap*>::value_type(Name, &map));
の行ですが、コンパイラはmapを変数名として解釈してしまっているように見えますよ。
データ型のmap(std::map)と、変数名のmap(D2DMap map)
に同じ名前を使ってるのがよろしくないかもしれませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
C言語 エラーの原因がわからな...
-
c言語の配列を使ってサイコロを...
-
【C++】関数ポインタの使い方
-
(マルチスレッド)_beginthrea...
-
数字列を3桁ごとにカンマで区切...
-
Arduinoのプログラムにエラーが...
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
C言語に関する質問です フィボ...
-
C言語で分からないところがあり...
-
整数データの配列から同じ値の...
-
演算子オーバーロードのプログ...
-
C言語での平滑化フィルタ
-
入力を待たずにstdinの監視をし...
-
if と配列の組み合わせ
-
return 1L
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
c++でテンプレートのコードでわ...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
c言語のリダイレクトによる円...
-
比較回数と交換回数表示について
-
実数の整数部,小数部の取得
-
if と配列の組み合わせ
-
構造体の勉強中です 合計点の高...
-
PowerShellがうまくいかない
-
c言語の配列を使ってサイコロを...
-
課題でつまってます・・・
-
C言語のサイコロシミュレート
-
エラー 添字が付けられた値が、...
おすすめ情報