こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

先日、C++を始めたばかりの者です。
Visual C++ 2008を使って、Windowsフォームアプリケーションを作っているのですが、以下のように、

List<Point>^ pts = new List<Point>();

とすると、この行で、コンパイルエラー:C3845 "ref クラス または値型の内部で、スタティック データ メンバのみ初期化することができます"と、なってしまいます。

System::Collections::Genericと、System::Drawingはusing済みです。

回答、よろしくお願いします。

投稿日時 - 2009-12-12 16:15:00

QNo.5517043

困ってます

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

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

投稿日時 - 2009-12-12 17:05:36

お礼

早速のご回答、ありがとうございました。

エラーの行を
private: static List<Point>^ pts = new List<Point>();
として、コンパイルしたところ通りました。

staticキーワードが必要だったようです。

投稿日時 - 2009-12-12 17:28:08

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問