关于CLR窗体的类类型全局变量问题 2C

我在stdafx.h里定义了一个类node 并且在里面声明了全局变量node *root 然后我在Form1.h里面 extern node *root 通过函数返回一个node *root1赋给root 但是这无法赋值成功 就是修改不了root 我想问一下要怎么修改这个全局root

2个回答

要看你的代码,clr应该用引用 ^ 而不是指针啊。

temis_x
Innse 看私信或者我写在了下面的回答里
接近 3 年之前 回复

//stdafx.h
class node{
public:
char val;
node *lc;
node *rc;

node(){
    val = '\0';lc = rc = NULL; 
}

};
node root;
node *openFile();
//Form.h
//下面是一个控件的响应函数
private: System::Void openFileDialog1_FileOk(System::Object^ sender, System::ComponentModel::CancelEventArgs^ e) {
extern node *root;
root=NULL;//修改不成功
root=new node();//地址也没有改变
root=openFile();//openFile()是返回一个node
的函数,但并没有赋值成功
}

    CLR这里不能用指针的么,可是如果是基本类型的指针也是可以修改的啊,但是这个类类型就不行了,那如果真的要用指针要怎么用,或者有什么办法转^?
temis_x
Innse 回复temis_x: 那个头文件那个打错了 是node*root;
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问