我现在有
template<class C> class Array
{
inline int Search(const C &value) const;
...
}
我想用这种方式
Array<int *> a;
int i;
const int *pi = &i;
a.Search(pi);
但我得到了
错误 C2664:“A::Search”:无法将参数 1 从“const int *”转换为“int *const &”
是否有可能以某种方式解决它?
只有我现在能想到的是将这个 claxx 部分专门化为指针,但我不确定。
template<class C> class Array<C*>
{
inline int Search(const C *&value) const;
...
}
这是好方法吗,也许可以在不创建部分专业化的情况下做到这一点?