C++/CLI下使用结构体数组的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++/CLI下使用结构体数组的问题相关的知识,希望对你有一定的参考价值。

#include "stdafx.h"

using namespace System;

ref class dai

public:
int aa;
int bb;
;

ref struct deidei

dai ^a;
dai ^b;
;

int main(array<System::String ^> ^args)

array<deidei ^> ^mydeidei=gcnew array<deidei^>(10);
mydeidei[0]->a->aa=1;
Console::WriteLine(L"Hello World");
return 0;


运行结果报错:
mydeidei[0]->a->aa=1; 未处理 NullReferenceException 未将对象引用设置到对象的实例。

参考技术A 首先,你需要对array中的每个元素new一下,即开辟空间,不然每个元素的指针都是无效地址。
其次,你需要对每个元素的a,b各自开辟空间,即new一下,不然这些成员的指针也是无效地址。
最后,new出来的元素和成员记得把它们都delete掉,不然会造成内存泄露。

以上是关于C++/CLI下使用结构体数组的问题的主要内容,如果未能解决你的问题,请参考以下文章

c语言怎么用文件保存和读取 结构体数组/

怎么用 C/C++ 把结构体数组转成 JSON串

c/c++结构体,循环输入有问题,求指导

结构体状态复位函数/使用完后将结构体恢复成初始值的怎么写呢?

关于c语言中联合体/共用体中数据存放的问题?

如何对结构体中的数组进行一次性全部赋值?谢谢,比如就是这个意思 b.a[]=,,,,;