怎样在多个cpp文件中引入同一个全局变量?
代码如下:========入口函数main.cpp的代码========#include<iostream.h>voidmyhanshu();intmyword=38;/...
代码如下:
========入口函数 main.cpp的代码========
#include<iostream.h>
void myhanshu();
int myword = 38; // 我想让这个变量在这个.cpp里可见
int main(){
myhanshu();
cout<<myword<<endl;
return 0;
}
========myhanshu函数 myhanshu.cpp的代码========
#include<iostream.h>
void myhanshu();
int myword = 38;// 我想让这个变量在这个.cpp里 也 可见
void myhanshu();
void myhanshu(){
cout<<myword<<endl;
}
如上,
我的目的是:想让 myword 这个变量在两个 cpp 文件里都可见,
结果好像报错为:重复定义,
如果我把其中一个.cpp文件中 定义 myword 的语句 注释掉,
结果好像又报错为:没有定义。
那我该怎么办才能实现我的目的呢? 展开
========入口函数 main.cpp的代码========
#include<iostream.h>
void myhanshu();
int myword = 38; // 我想让这个变量在这个.cpp里可见
int main(){
myhanshu();
cout<<myword<<endl;
return 0;
}
========myhanshu函数 myhanshu.cpp的代码========
#include<iostream.h>
void myhanshu();
int myword = 38;// 我想让这个变量在这个.cpp里 也 可见
void myhanshu();
void myhanshu(){
cout<<myword<<endl;
}
如上,
我的目的是:想让 myword 这个变量在两个 cpp 文件里都可见,
结果好像报错为:重复定义,
如果我把其中一个.cpp文件中 定义 myword 的语句 注释掉,
结果好像又报错为:没有定义。
那我该怎么办才能实现我的目的呢? 展开
5个回答
展开全部
使用extern关键字来声明变量为外部变量。例如:
A.cpp
#inlcude C.h
int i;
/////////////////////////////
B.cpp
#include C.h
extern int i;
/////////////////////////////
C.h
int i;
A.cpp
#inlcude C.h
int i;
/////////////////////////////
B.cpp
#include C.h
extern int i;
/////////////////////////////
C.h
int i;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单设一global.h 声明全局变量
global.cpp定义全局变量
其它的文件 #include "global.h"
global.cpp定义全局变量
其它的文件 #include "global.h"
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你写呢两个都删,你随便在一个cpp中的大括号外定义:
int myword=0;
你用的时候不用在写int.直接用:
myword=5;
int myword=0;
你用的时候不用在写int.直接用:
myword=5;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
extern
声明外部变量
就可以了
声明外部变量
就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询