2
static const map<const Type*, int>* priority;

ここで、Typeは私自身の特別なクラスです。

初期化(なぜ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;
}
4

1 に答える 1

5

priorityはconstマップへのポインタですが、operator[]を。と一緒に使用することはできませんconst associative containers

于 2012-05-06T20:10:59.920 に答える