0

コンパイラが私に何を求めているのか、私は一生理解できません。

コンパイラメッセージの経験がある人は、私が欲しいものを解読するのを手伝ってくれますか?何が起こっているのかわからないので、コードビットを提供することすらできません。

-std = c++11でg++-4.7を使用しています

http://pastebin.com/AxYMd6L8

SimpleMapSquareとそれがアロケータであることについて何か不平を言っているようですか?それはそのようなものではありません。SimpleMapSquareは次のように定義されます。

#pragma once

namespace BlackDragonEngine
{
struct SimpleMapSquare
{
  int TileID;
};
}

昨日、約400行以上のテンプレートコードを作成し、そのヘッダーをメインアプリに含めようとしたところ、これが発生しました...

どこから始めたらいいのかわからない…助けてください。

編集:私のプロジェクトで「vector <」を検索すると、次のようになります。http: //i.imgur.com/g8L1l.png
関連ファイル(昨日作成したファイル)を展開しました

テストせずに多くのコードを記述した理由は、エンジンをC#からC ++に変換しているため、論理的な側面はすでに正しく、不完全なコードをテストすることはできません。

編集2:ここに「SimpleMapSquare」のすべての使用法がありますhttp://i.imgur.com/zedkh.png

EDIT3:
Konradのおかげで、正確な行を特定してエラーを見つけることができました... * .inlファイル(テンプレートコードの実装が配置されている場所)を含めるのを忘れたため、上記の検索は無視してください

4

2 に答える 2

5

次のクラスをどこかで使用しています。

class std::vector<sf::Vector2<int>, BlackDragonEngine::SimpleMapSquare>

の2番目の型引数std::vectorはアロケータ型です!

于 2012-05-03T09:38:01.363 に答える
0

SimpleMapSquare には、タイプvalue_typepointerおよびの定義が含まれている必要があるようですreference

STL が SimpleMapSquare をイテレータ、アロケータ、またはクラスを必要とするその他の特性として扱っているようです。

どこかで間違ったパラメータとして渡しましたか?

于 2012-05-03T09:41:34.380 に答える