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 回答