c ++初始化对象数组

时间:2016-02-17 10:15:10

标签: arrays c++-cli

我需要将字符串拆分为数组。当我尝试向数组中添加新对象时,我得到object reference not set to an instance of an object

array<d3^> ^pr_d3; //d3 - class
parts = sr->ReadLine()->Split(
    (array<String^>^)nullptr, 
    StringSplitOptions::RemoveEmptyEntries); //array<String ^> ^parts;

pr_d3[0] = gcnew d3(
     parts[0], parts[1], 
     parts[2],
     Convert::ToInt16(parts[3]), Convert::ToInt16(parts[4])); //error

Code on Ideon

1 个答案:

答案 0 :(得分:1)

您没有初始化数组pr_d3

删除正确的代码,您目前拥有:

array<d3^> ^pr_d3;
pr_d3[0] = gcnew d3(...);

该错误正在尝试访问[0]的{​​{1}},但pr_d3仍然为空。

您需要使用pr_d3初始化pr_d3,或者如果您不确定自己需要的尺寸,请改用gcnew array<d3^>(<some array size>)