【发布时间】:2013-12-25 00:25:08
【问题描述】:
我正在尝试创建一个指向具有 * 运算符重载的类的指针,但它返回另一个值。 类代码:
template<class T> class Node
{
public:
T *pointer;
T& operator*()
{
return *pointer;
}
}
那么这段代码不行,返回int而不是指针:
Node<int>* examplePointer; //this works
Node<int> example; //creates an instance of Node<T> class
examplePointer = *example; //this doesn't work
如何使用重载的 * 运算符创建指针?
【问题讨论】:
-
您必须在某处定义一个 T 以便
Node<T>* examplePointer编译。你能发布一个带有可疑作业的小例子吗? -
这只是一个错字。正如我所说,这已经通过为指针创建额外的运算符来解决。
-
您希望
examplePointer = *example做什么?int x = *example可以正常工作,examplePointer = &example也可以。 -
我希望
examplePointer指向Node<int> -
你返回一个 int&,但期望它是一个指针?
标签: c++ operators dereference