原始程序在文件中定义这样一个变量

CTree* pTree = NULL; 全局变量

pTree->InitCTree();

……

后来在别的文件中要用到pTree,所以在声明前面加了个extern关键字

 

程序运行到初始化pTree时出错了。

 

原来,extern的作用是告诉编译器pTree这个变量已经在别的文件中说明,但是不分配内存。所以第一次使用时一定要给它申请一定的空间。

CTree* pTree = newCTree;

这一句 的作用就是申请一段内存空间了。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-20
  • 2021-12-28
  • 2021-09-26
  • 2021-12-08
猜你喜欢
  • 2022-12-23
  • 2021-06-11
  • 2021-05-16
  • 2021-06-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案