我有一个非托管类,我从 C++ Windows 窗体(托管类)调用它。但是,我想将此类重写为 ref 类,但我不确定如何处理在非托管类中声明的全局数组成员。
作为一个例子,我写了一个非常简单的类,它以某种方式显示了我需要做什么。
public class test {
private:
int myArray[5][24];
public:
int assign(int i){
test::myArray[2][4] = i;
return 0;
}
int dosomething(int i){
return test::myArray[2][4] + i;
}
在这里,我有一个全局成员数组,我希望能够从类中的所有函数访问它。
在 windows 窗体中,我有一个按钮和一个组合框。这样,当按下按钮时,它只会调用类中的函数并显示结果。
private: System::Void thumbButton_Click(System::Object^ sender, System::EventArgs^ e) {
test my_class;
my_class.assign(5);
comboBox1->Text = my_class.dosomething(6).ToString();
}
现在,如果我尝试将类更改为 ref 类,则会出现错误,因为全局数组是非托管的。我尝试使用 std::vectors 执行此操作,这是比直接使用数组更好的方法,但会得到相同的错误。因此,如果有人能指出一种将此类重写为 ref 类的方法,我将不胜感激。谢谢!