[問題] 靜態函數呼叫非靜態函數

作者: yshihyu (yshihyu)   2018-09-26 22:38:34
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
g++ 7.3.0
記得以前這樣能編譯過 , 是因為新版編譯器問題嘛?
想在建構函數把this指標 assign 到 static 變數存放instance
https://gist.github.com/shihyu/9ef5b9a30e5221350fc1cbde00205627
可是現在無法編譯過, 想請問一下這是什麼原因?
謝謝
作者: thefattiger (LT)   2018-09-26 23:23:00
A跟main之間加一行A* A::m_gA = nullptr;宣告之後還要定義才不會link error
作者: yshihyu (yshihyu)   2018-09-26 23:41:00
可以了感謝~ 在請教一下m_staticA 為什麼不需要定義也能正常編譯過? 但是static A* m_gA; 必須要定義?
作者: thefattiger (LT)   2018-09-26 23:47:00
因為你沒用到,有用到的話也是會link error
作者: yshihyu (yshihyu)   2018-09-27 00:05:00
了解 感謝
作者: tinlans ( )   2018-09-28 13:34:00
要練習看錯誤訊息跟瞭解錯誤訊息

Links booklink

Contact Us: admin [ a t ] ucptt.com