第一、要想跨文件使用同一个变量,该变量必须定义成全局变量
成都创新互联从2013年开始,先为郊区等服务建站,郊区等地企业,进行企业商务咨询服务。为郊区企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
第二、在另外的文件引用文件外的全局变量,引用者必须用extern来声明变量。
第三、必须在函数中去操作该变量
如:
1.cpp:
void func() ;
int n ;
int main()
{
n=1;
func() ;
return 0;
}
2.cpp
#include iostream
extern int n;
void func()
{
std::cout "n="n std::endl ;
}
Qt中如果想跨文件调用函数时,只要知道被调函数的声明即可。方法是:在调用之前增加被调函数的声明信息。
例如,在A.cpp中调用B.cpp里面写的void func()函数,需要在A.cpp中增加下面一行:
extern void func(); //声明func是一个外部函数
可能是这样,a.cpp,a.h在文件夹f1中,b.cpp,b.h在文件夹2中,c.cpp,c.h也在文件夹1中,按你说的,a.cpp中引用了一个b.cpp中的函数,但是a.cpp和a.h中都没有找到对应的函数声明,那么有可能是这样,a.h引用了b.h,而b.h又引用了c.h。
a.cpp中的fun1()要在b.cpp中使用,那么其实可以这样,在b.cpp中使用fun1()之前,先声明下fun1(),前提是b.cpp要包含a.cpp的头文件并且fun1()也在a.cpp的头文件中声明。