实际上我正在使用指针c#aplication。 我已经创建了这个结构。
public unsafe struct Aris
{
public Aris* sig;
public int pes;
}
unsafe class Nodo
{
// Here I am trying to create a new instance
void insertAris(Aris *start)
{
Aris* newAris;
newAris->sig = null;
}
}
我无法创建新的Aris实例,我也尝试了Aris * newAris = new newAris();
,但也失败了。
答案 0 :(得分:0)
您的代码看起来像C++
移植到使用指针作为引用的结构的C#
。在.NET
中你应该避免以这种方式使用指针(毕竟,它是一个使用垃圾收集器和指针的框架必须固定到位),你应该使用引用类型(类): / p>
public class Aris
{
public Aris sig;
public int pes;
}
public class Nodo
{
public void InsertAris(Aris *start)
{
Aris newAris = new Aris { sig = null, pes = 0 };
// ...
}
}
答案 1 :(得分:-1)
<强>解决方案:强>
要正确定义结构,您必须这样做。
ExampleStruct es = new ExampleStruct{ exampleInt = 1, exampleInt2 = 2 };
至于你的方法,当我认为你打算做Aris* sig
时,我也注意到你正在创建一个未定义的var Aris* sig = start
。