1
有没有更传统的方法将参数传递给基类模板?将模板参数传递给基类,简明表示法
template <class II, class ICI>
class GraphBase : public GraphBaseOfBase<II, ICI>
{ ... };
template <>
class GraphBase<std::vector<int>::iterator, std::vector<int>::const_iterator> :
public GraphBaseOfBase<
std::vector<int>::iterator,
std::vector<int>::const_iterator>
{ ... };
[OT]:护理专业化超过'的std ::矢量< > :: iterator'(和一般的迭代器),因为你可能会有一些冲突,因为并不总是你期望的类型。 ('std :: vector :: iterator'可能是一个'int *'或一个真正的类,就像'std :: set :: iterator'和'std :: set :: iterator的类型一样'可能是相同的,或不)。 –
Jarod42
伟大的观察! @ Jarod42,之前从未想过...在代码评论中记住的新课程.. – WhiZTiM
您可以使用'using'来缩短使用的主要类型。 '使用vi = typename std :: vector :: iterator;使用vic = std :: vector :: iterator;'然后'template <> 类GraphBase:public GraphBaseOfBase '。但不知道这是你想要的。 –
Jarod42