本人菜鸟啊!写模板类时,居然碰到一个摸不着头脑的问题!编译时报告:“error C1001: 内部编译器错误”!我这样处理的,单独编译模板,仍然出现同样问题,现在贴出来以求大侠给出帮助!
template<typename T>
void CITEMS<T>::MoveItemsBack(size_t _start, size_t _count)
{
//create an empty item
T t;
size_t fLastIndex = m_Items.size() + _count-1;
//move the _count items back,that contains the _start item
for (size_t r = fLastIndex; r >= _start + _count; r--)
{
if (r - _count >= 0)
m_Items[r] = [r - _count];
else
break;
}
}
其中:
map<size_t, T>m_Items;
经过一天的摸索问题总算解决了,兹以记之:
1、模板类成员的声明和定义一律必须在类内进行,加上inline也没有用。
2、不允许使用迭代器进行map循环。