|
1
68
原因是在实例化类模板时,其成员函数的所有声明(而不是定义)也会实例化。当需要专门化的完整定义时,类模板被精确地实例化。例如,当它被用作基类时就是这种情况,就像在您的例子中一样。
那么会发生什么呢
在哪一点上
您需要做的是将实例化延迟到
它仍然是类型安全的,因为如果
|
|
2
27
您可以使用traits类来解决此问题:
|
|
|
3
2
一种解决方法是将参数类型声明为另一个模板参数,而不是在派生类中:
|
|
4
1
这不完全是您要求的,但您可以将操作作为模板成员函数:
|
|
|
5
0
相反,请尝试:
|
|
|
Jersey · 如何在自己的定义中缩写类名? 8 年前 |
|
|
Felix · 为什么我用typedef定义自然类型的尝试不起作用? 8 年前 |
|
|
cppBeginner · 将“typedef”设为最终(或模拟) 8 年前 |
|
|
coJetty · 使用或typedef减少模板参数 8 年前 |
|
|
VannTen · 使用指向非结构类型的不透明指针 8 年前 |
|
|
John Smith · C中带有数组的Typedef 8 年前 |
|
|
thndrwrks · 带有typedef ed函数指针的常量限定符 8 年前 |