关于全局变量问题 我在看一个例子程序,在app.cpp文件中,定义了几个全局变量,然后在app中,接下来,产生一个LoginDlg,LoginDlg在只包含了app.h的情况下,竟然可以直接使用在app.cpp中定义的全局变量,这样可行么???为什么能直接编译通过?按理说,如果全局变量定义在app.h中才可以直接使用的吧? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LoginDlg是在另一个CPP里使用的吗? 有加exetrn 类型 XXX;吗? 也没有extern ,是不是很奇怪呢??竟然就可以直接适用了。 要extern 把, 可能是类中也定义了一个同名的变量呢 全局的肯定可以在别的文件中访问么,要不咋叫全局...另外,头文件中一般不会“定义”变量,因为这样的话,每个包含它的文件里都会有一份拷贝。通常a.cpp#include "a.h"int g_n;// 定义全局a.hextern int g_n; // 声明b.cpp#include "a.h"g_n = 123; // 使用 不管你在那个CPP中声明一个全局变量 ,在另一个CPP中想调用的话,就只要把它的类声明(*.h)include进来并且实例化再去访问那个变量,就可以了。当然还有个简单的方法,就是你把这个变量声明在stdafx.h中,在你想使用的 cpp中#include "stdafx.h "就可以直接使用这个变量了。综上访问应该是没有问题的。 正解,必须有个extern 声明, 我用VC++2005写的程序,怎么样才能把它做成setup安装文件呀 如何做标签页控件 急求!如何将CString型IP地址转换成dword型啊。 求画笔源代码 高手们,请解答菜鸟关于线程的一个问题吧~~~~ 求和问题 COM问题 工具栏 随着框架的 变小会自动折行,可是 框架变大后不会自动顶上去,怎么弄啊 简单算法问题 treectrl可不可以设置自动按字母排序。 请教,使用winhex填零一个优盘后,为什么优盘的目录结构还在? 请各位指点迷津!
另外,头文件中一般不会“定义”变量,因为这样的话,每个包含它的文件里都会有一份拷贝。
通常
a.cpp
#include "a.h"
int g_n;// 定义全局a.h
extern int g_n; // 声明b.cpp
#include "a.h"g_n = 123; // 使用
当然还有个简单的方法,就是你把这个变量声明在stdafx.h中,在你想使用的 cpp中#include "stdafx.h "就可以直接使用这个变量了。
综上访问应该是没有问题的。