作者NIKE74731 (做遊戲的心)
看板C_and_CPP
標題[問題] const pointer
時間Tue Nov 2 22:39:24 2010
class Student
{
public:
void Read(){}
};
const Student *pStu1 = new Student;
Student const *pStu2 = new Student;
pStu1->Read();// error
pStu2->Read();// error
以上是程式碼
小弟目前知道pStu1與pStu2的宣告其實是一樣
但不了解為何一樣
其二
為什麼無法呼叫其成員函式Read()?
錯誤訊息:
無法將 'this' 指標從 'const Student' 轉換成 'Student &'
煩請各位板友提點一下~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.97.176
※ 編輯: NIKE74731 來自: 112.104.97.176 (11/02 22:40)
→ stupid0319:為什麼Student類別要用int指標去指呢? 11/02 22:51
※ 編輯: NIKE74731 來自: 112.104.97.176 (11/02 22:55)
→ NIKE74731:打錯了.... 不好意思 11/02 22:55
推 Bencrie:沒有 member ? 11/02 22:57
→ stupid0319:((Student*)pStu1)->Read(); 這樣行不行?? 11/02 22:58
→ layan:Read() const <= 加const變const member function就可以了 11/02 22:59
→ layan:const的物件或指標只能呼叫是const的 member function. 11/02 22:59
→ NIKE74731:喔~~謝謝layan大! 11/02 23:01