我有一个TemplateArray和一个CharArray类。
如何使模板阵列的赋值运算符仅在模板阵列具有相同类型(I.E.char)或类似类型(I.E. unsigned char)到chararray时从chararray类复制?
TemplateArray和CharArray在功能上是相同的(除了CharArray可以处理NULL终止的字符串)。
例如:
template<typename TemplateItem>
TemplateList & TemplateList<TemplateItem>::operator=(const CharArray &ItemCopy)
{
//How do I only copy when TemplateList is of type char (or similar unsigned char)
//IE is same/similar to CharArray
//Both classes are functionally the same, except CharArray is chars only
}
答案 0 :(得分:3)
您似乎需要TemplateList::operator=
的专业化:
template<>
TemplateList& TemplateList<char>::operator=(const CharArray &ItemCopy)
{
// Do the copying here, you don't provide enough
// information for a practical suggestion
}