• ベストアンサー

構造体のジェネリックのインスタンス化について

先日、C++を始めたばかりの者です。 Visual C++ 2008を使って、Windowsフォームアプリケーションを作っているのですが、以下のように、 List<Point>^ pts = new List<Point>(); とすると、この行で、コンパイルエラー:C3845 "ref クラス または値型の内部で、スタティック データ メンバのみ初期化することができます"と、なってしまいます。 System::Collections::Genericと、System::Drawingはusing済みです。 回答、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

エラーのまま意味だと思いますよ。 pts は何かのクラスのメンバですよね? その何かのクラスがインスタンス化されない限り、 ptsは存在しないので、初期化されても困るのでは? スタティックなら何かのクラスがインスタンス化されなくても 存在しているので初期化できます。

tink_42h
質問者

お礼

早速のご回答、ありがとうございました。 エラーの行を private: static List<Point>^ pts = new List<Point>(); として、コンパイルしたところ通りました。 staticキーワードが必要だったようです。

関連するQ&A