我是C++的新手,並試圖解決這個問題。當我編譯時,我得到錯誤a nonstatic member reference must be relative to a specific object
。編寫代碼的正確方法是什麼?這是我所在的地方numShapes
給我的錯誤。找不到這個非靜態成員引用錯誤
class Application
private:
int numShapes;
public:
Shapes * shapes[numShapes];
然後,如果這是正確的術語,我將其作爲我的虛擬基類的另一個頭部。
class Shapes
{
virtual void draw(char letter);
virtual ~Shapes() {}
};
我嘗試使用此 形狀將其改爲動態數組*形狀=新形狀[numShapes]; 但現在它給出的錯誤:抽象類「形狀」的數組是不允許的:函數「形狀::繪製」是一個純虛函數 – brisk172
不知道你的意思。最主要的是在編譯時應該知道nuShapes的值。或者不要使用數組而是使用std :: containers之一。即G。 std :: vector – MotKohn
@ brisk172動態數組錯誤是因爲你沒有定義draw()。 – jmstoker