: int main(){
: Demo<myClass> d;
: myClass *mptr = 0;
: //我該如何使用 Demo 類別的 Assigment 和 Accessors 呢?
: cout << *d <<endl; //error
: d = *mptr; //error
: d.operator*(mptr); //error
: }
: 感謝指教...
感謝板友的指教
的確應該是 d = mptr
int main(){
Demo<myClass> d;
myClass *mptr;
//我該如何使用 Demo 類別的 Assigment 和 Accessors 呢?
d = mptr; //訊息如下
}
C:\Users\USER\AppData\Local\Temp\ccEmgiM2.o Untitled1.cpp:(.text+0x25):
undefined reference to `Demo<myClass>::operator=(myClass*)'
C:\Users\USER\Desktop\collect2.exe [Error] ld returned 1 exit status
重看了一下你的code,你沒實作operator=嗎?
F大意思是說 Demo(myClass) a or Demo(myClass) b 之間的 a = b operator 嗎?
我的意思是你宣告了Demo<T>::operator=卻沒實作它你說的operator對但是參數型態不對
F大,你是對的 我沒有去實作他,實作後可以用了那請問Accessors呢? 我在額外宣告一個 myClass *ptr;Demo<myClass> d; d = mptr; ptr = d->;operator -> 我該如何使用呢?編譯錯誤訊息[Error] expected unqualified-id before ';' token
作者:
bibo9901 (function(){})()
2016-04-16 22:18:00啊…就不是這樣用. 你的書上應該有寫吧?d->method() 會呼叫 (d.operator->())->method()
operator->照這樣寫應該是讓你的Demo<T>可以像指標一樣操作,像是 d->test() 就會先呼叫->再呼叫回傳值的test()啊 推慢了XD
我懂了! 太感謝 : )))只急著問>"<,謝謝你們的講解