在Google上搜索了很长时间。什么都没有出现。将返回的指针分配给另一个返回的指针?
class queue {
public:
item* getback() {
return back;
}
item* getfront() {
return front;
}
void push(const char* msg);
const char* pop();
private:
item* back;
item* front;
};
class doublequeue {
public:
doublequeue() {
read.getback() = send.getfront(); // HERE!!!
}
private:
queue read;
queue send;
};
在这行“在这里!”,读红色MSVC++ 2012中带下划线的错误是与不是一个有效的左值的左值。
我明白如何重载赋值运算符。我明白,当你返回一个int时,把它分配给它必须作为参考被返回,因为你不能说2 = 3 + 5.我明白了。但是用指针,当你说一个指针与另一个指针相等时,你只是让它们指向内存中的同一个点?这不像我回来的地址,我正在返回一个指针。
一个指针就像一个特殊的'int'持有一个地址。所以'int'适用于指针。 – juanchopanza 2014-10-17 08:02:10
如果你改变'item * getfront(){//'到'item *&getfront(){//' – 2014-10-17 08:04:51
所以两个存取函数实际返回地址吗? – thelittlegumnut 2014-10-17 08:05:23