私は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]を使用して、動的配列にそれを変更しようとしました。 これはエラーです。抽象クラス "Shapes"の配列は使用できません。関数 "Shapes :: draw"は純粋な仮想関数 – brisk172
の意味がわかりません。主なものは、コンパイル時にnuShapesの値を知る必要があることです。または、std :: containersの1つを使用する代わりに、配列を使用しないでください。 e。 g。 std :: vector – MotKohn
@ brisk172動的配列エラーは、draw()を定義しなかったためです。 – jmstoker