static const map<const Type*, int>* priority;
ここで、タイプは自分の特別なクラスです。なぜC++は私が渡したタイプに[]が一致しないと言っていますか?
初期化(なぜC++私は見当がつかない、自動でも動作しないでしょう、これを要求し)、私が間違って渡していることを私に言っている場合(それを使用しようとすると、
const map<const Type*, int, less<const Type*>, allocator<pair<const Type* const, int>>>* ToolProperty::priority
= new map<const Type*, int, less<const Type*>, allocator<pair<const Type* const, int>>>();
そして最後にタイプ)
static void setPriority(const Type* type, int newPriority)
{
(*priority)[type] = newPriority;
}
C++はプログラミング言語ですが、あなたには言いません。あなたのコンパイラは何を言っていますか? (どんなコンパイラを使用しているのか、そして何がエラーや警告になっているのですか?) – dreamlax
なぜあなたは非常に多くのポインタを使用していますか?コードの臭いのようです。 –
コンパイラとアロケータが欲しいものがすべてデフォルトの場合は、そのスペルを書く必要はありません。ちょうどそれらを放棄してください。 –