0

私は文字列配列を持っています

public: array<String ^> ^ sss;
public:
    Form1(void)
    {
        InitializeComponent();
        //
        //TODO: Add the constructor code here
        //
        array<String ^> ^ sss = gcnew array<String ^>(3);
        sss[0]="asdasd";
        sss[1]="s115ss";
        sss[2]="s115ss";
    }

最初の要素をテキストボックスに表示する必要があります。

使った

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

             textBox2->Text = sss[0];
         }

Vc ++が与えましSystem.NullReferenceExceptionた。なんで?そして、それを修正する方法は?

エラー:

タイプ 'System.NullReferenceException' の未処理の例外が test000.exe で発生しました 追加情報: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

4

1 に答える 1

1

というフィールドも持っていない限り、コードはコンパイルされませんsss。その場合は、同じ名前の無関係なローカル変数ではなく、コンストラクターでそのフィールドの値を設定する必要があります。

array<String ^> ^ sss;

public:
    Form1(void)
    {
        InitializeComponent();

        sss = gcnew array<String ^>(3);
        sss[0]="asdasd";
        sss[1]="s115ss";
        sss[2]="s115ss";
    }
于 2012-04-21T19:21:28.963 に答える