看More Effective C++里的一个问题
里面有这样一段代码:
template<class T>
class SmartPtr {
public:
...
operator void*();// 如果智能指针为null,
...// 返回0 ,否则返回非0
};
SmartPtr<TreeNode> ptn;
...
if (ptn == 0) ...// 现在正确
if (ptn) ...// 也正确
if (!ptn) ...// 正确
我想问的是
operator void*()是什么意思?void*是什么意思?谢谢
[解决办法]
void operator *();
重载的是*,也就是指针操作符,
void 是函数的返回类型。