我的編譯器抱怨說,我的一個對象作爲一個不同的類(如下圖所示)的私有成員的聲明給了我這個錯誤:編譯錯誤聲明派生類對象作爲一個私有成員在類
private:
ForwardStrategy::ForwardStrategy* forwardStrategy; ForwardToStrategy::ForwardToStrategy* forwardToStrategy;
/home/ics45c/projects/p4/src/Person.hpp:45:19:錯誤:對'ForwardStrategy'的限定引用是構造函數 名稱而不是可以聲明構造函數的類型 ForwardStrategy :: ForwardStrategy * forwardStrategy; ^ /home/ics45c/projects/p4/src/Person.hpp:47:21:錯誤:對'ForwardToStrategy'的限定引用是構造函數 名稱而不是可以聲明構造函數的類型 ForwardToStrategy :: ForwardToStrategy * forwardToStrategy; ^
2生成的錯誤。
所以它看起來像編譯器認爲我指的是構造函數,而不是類型,但我不知道如何解決此問題?
很抱歉的可怕格式...我我真的不知道如何正確地做到這一點,但在此先感謝!因爲它是寫在你的問題的方式意味着你試圖訪問一個成員(這是構造函數)的這一類不定義它的實例
private:
ForwardStrategy* forwardStrategy;
ForwardToStrategy* forwardToStrategy;
:
如果您只是編寫'ForwardStrategy * forwardStrategy;'而不是'ForwardStrategy :: ForwardStrategy * forwardStrategy;',因爲我認爲最後一個引用的是類的成員而不是類本身(作爲新的 –