成员运算符的C ++ enable_if(或解决方法)
|
template<typename T>
struct foo
{
T* p;
foo(T* x) : p(x) {}
~foo() { if(p) delete p; }
T& operator*() const { return *p; }
};
int main()
{
foo<int> i(new int);
foo<void> v(new int); // <= illegal use of type \'void\'
}
如果T = void,那么我不想实现operator *()。我该如何实现?我不想专门研究该类,因为我的课堂上还有许多其他方法。
PS:请注意,这仅是说明我的问题的示例。
没有找到相关结果
已邀请:
5 个回复
佩疵瓦
解决了此问题,如下所示:
珊畴炮贩号
一起使用)移动到基类中,并使make4ѭ从中继承。那么
就可以专门化为not3ѭ不声明
驮帽俺篮号
奥李
还是我在这里缺少明显的东西?
苦诫