我正在尝试部分专门化一个非常基本的模板化数组类的复制构造函数。
template<typename D, bool destruct = false> class SimpleArray
{
SimpleArray(const SimpleArray& other)
{
//stuff
}
//various other things
}
template<typename D> SimpleArray<D, true>::SimpleArray(const SimpleArray& other)
{
//different stuff
}
但我得到这个错误:
'SimpleArray<D,destruct>::{ctor}' : unable to match function definition to an existing declaration
但是,我已经明确声明了该函数......我尝试将部分专业化中的参数更改为const SimpleArray<D, true>& other
无济于事。VC++ 11 并没有突出显示部分专用的函数名称本身,所以我猜这个问题是一个不正确的名称。