Reading values into a List object - Object referen

2019-08-18 16:53发布

问题:

Trying to load values into a List object, I get the "Object reference not set to an instance of an object" error.

(edited question to simplify it)

MyVec.h listing (essentials only):

ref class MyVec
{
public:
    List<double>^ MyVector;

MyVec(void);
};

MyVec.cpp listing (essentials only):

#include "MyVec.h"

MyVec::MyVec(void)
{
}

Form.h listing (essentials only):

MyVec^ TestVec = gcnew MyVec();
double MyDouble = 1.002;
TestVec->MyVector->Add(MyDouble);
textBox1->Text = TestVec->MyVector[0].ToString() + "\r\n";

I get the error where I try to assign MyDouble to TestVec: TestVec->MyVector->Add(MyDouble)

In the Autos window it says (amongst other things) TestVec->MyVector undefined value

What's wrong?

回答1:

This change should solve the problem:

MyVec::MyVec(void)
{
    MyVector = gcnew List<double>();
}

Class member MyVector is initailly null reference. You need to initialize it before using, and MyVec constructor is appropriate place to do it.