C ++初始化对象数组
c++ initializing array of objects
我需要将字符串拆分为数组。当我尝试向数组添加新对象时,我得到 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
您没有初始化数组 pr_d3
。
删除正确的代码,你现在有这个:
array<d3^> ^pr_d3;
pr_d3[0] = gcnew d3(...);
尝试访问 pr_d3
的 [0]
时出错,但 pr_d3
仍然为空。
您需要使用 gcnew array<d3^>(<some array size>)
初始化 pr_d3
,或者如果您不确定所需的大小,请改用 List<d3^>
。
我需要将字符串拆分为数组。当我尝试向数组添加新对象时,我得到 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
您没有初始化数组 pr_d3
。
删除正确的代码,你现在有这个:
array<d3^> ^pr_d3;
pr_d3[0] = gcnew d3(...);
尝试访问 pr_d3
的 [0]
时出错,但 pr_d3
仍然为空。
您需要使用 gcnew array<d3^>(<some array size>)
初始化 pr_d3
,或者如果您不确定所需的大小,请改用 List<d3^>
。