在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