[英]Cannot assign to overloaded dereference (*) operator
我為我的模板類重載了dereference運算符:
template <class T> class Node {
public:
T *pointer;
T operator*() { return *pointer; }
};
我希望能夠寫入main中的指針:
Node<int> n;
*n = 33;
但我得到這個錯誤:
lvalue required as left operand of assignment
我應該如何重載此運算符才能寫入指針?
只要給它T&
作為返回類型。 然后你有一個左值。 現在的問題是你要返回指向的對象的副本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.