template<class T, int NBLK>
class Segtor : public MoveableAndDeepCopyOption< Segtor<T, NBLK> > {
public:
typedef ConstIIterator<Segtor> ConstIterator;//这里E2299 Cannot generate template specialization from 'ConstIIterator<V>'
typedef IIterator<Segtor> Iterator;//这里也一样
};
我猜这错误应该是Segtor类型还不存在所以无法特化。
但要怎么改才好?
4 个解决方案
#1
得,猜了下原因,九成是因为cb中的模板类不写明特化是认不出的,
试了一下,还真是这样。。。。有点无语了。。。。。
哪位再进来下,帮忙结论了。
试了一下,还真是这样。。。。有点无语了。。。。。
哪位再进来下,帮忙结论了。
#2
楼主这是发福利呢,
方便的话写出正确的地方,以便后人参考
方便的话写出正确的地方,以便后人参考
#3
没看懂...
#4
其实就是把Segtor改成Segtor<T, NBLK>,
不能像vc或gcc中一样省略。
这些都还好猜点,现在真碰到个想不明白的模板问题了。。。
不能像vc或gcc中一样省略。
这些都还好猜点,现在真碰到个想不明白的模板问题了。。。
#1
得,猜了下原因,九成是因为cb中的模板类不写明特化是认不出的,
试了一下,还真是这样。。。。有点无语了。。。。。
哪位再进来下,帮忙结论了。
试了一下,还真是这样。。。。有点无语了。。。。。
哪位再进来下,帮忙结论了。
#2
楼主这是发福利呢,
方便的话写出正确的地方,以便后人参考
方便的话写出正确的地方,以便后人参考
#3
没看懂...
#4
其实就是把Segtor改成Segtor<T, NBLK>,
不能像vc或gcc中一样省略。
这些都还好猜点,现在真碰到个想不明白的模板问题了。。。
不能像vc或gcc中一样省略。
这些都还好猜点,现在真碰到个想不明白的模板问题了。。。