: 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
我懂了! 太感谢 : )))只急着问>"<,谢谢你们的讲解