我在stdafx.h里定义了一个类node 并且在里面声明了全局变量node *root 然后我在Form1.h里面 extern node *root 通过函数返回一个node *root1赋给root 但是这无法赋值成功 就是修改不了root 我想问一下要怎么修改这个全局root
要看你的代码,clr应该用引用 ^ 而不是指针啊。
//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这里不能用指针的么,可是如果是基本类型的指针也是可以修改的啊,但是这个类类型就不行了,那如果真的要用指针要怎么用,或者有什么办法转^?