您好、欢迎来到现金彩票网!
当前位置:皮皮彩票app下载 > 共享变量 >

C++C的项目里怎么共享“全局变量”呢?

发布时间:2019-07-27 20:59 来源:未知 编辑:admin

  [情况]最近用OpenCV的库,写一个“轮廓”识别的程序,遇到一个关于C/C++的小问题:[问题]用visualstudio2012建一个C++的空项目,然后建一个包含main()函数的cpp文件,在这个文件的m...

  [情况]最近用OpenCV的库,写一个“轮廓”识别的程序,遇到一个关于C/C++的小问题:

  [问题]用visual studio 2012 建一个C++的空项目,然后建一个包含main()函数的cpp文件,在这个文件的main()函数的外面声明10个全局变量,然后把这个项目的其他函数都分别存放成一个单独的cpp文件,再建立一个头文件(.h),其中包含每个函数的声明,但问题出来啦:这些单独的函数都要用到那10个全局变量,但如果这些函数和main()函数不在同一个文件下则无法用这10个全局变量.......

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  全局变量定义时,如果不加static修饰,那么作用域就是整个项目,可以在任何一个文件中访问或修改。

  不过直接在其它文件中引用该变量时,会报未定义错误,需要在调用文件进行声明。

  注意声明时不能有赋值操作,否则就会被认定为是新的定义,导致重复定义错误出现。

  在同一个项目的b.c中,声明gvar,同时定义一个函数,使gvar自加,并打印gvar的值:

  最好单独定义一个.h文件,专门放全局变量,如果那个cpp文件要使用,则包含这个头文件就可以了。而且也不会引起循环引用问题。我这么试了一下,但还是产生了循环引用问题,vs2012将所有重复引用的全局变量都报错了,是不是要给全局变量前加上一个extern呢?

  把全局变量也放在头文件中,可以用extern声明,保留原来的cpp文件的变量声明,或者把那些函数放在cpp文件中。

http://divasrun.com/gongxiangbianliang/728.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有