请问这样定义全局函数和全局变量.
在vb里只要在模块里定义全局函数和全局变量.无论在那个窗体都能调用.
可是在vc里这样定义呢?
问题点数:20、回复次数:10Top
1 楼yyc_csdn(yyc)回复于 2001-08-16 20:51:58 得分 3
在任意一个cpp文件中定义,然后在应用的文件中申明为外部变量!
extern int a;Top
2 楼every()回复于 2001-08-16 20:57:06 得分 0
那全局函数这样申明?
Top
3 楼every()回复于 2001-08-16 21:09:39 得分 0
能否再具体一点 extern int a; 是写在应用的文件中.cpp 还是.h.可是我写在那都
编译不过.后我写在stdafx.h文件里也不行. Top
4 楼han012(阿毛)回复于 2001-08-16 21:47:47 得分 14
产生一个公共include文件例如“myheader.h”,在此.h文件中
1)用extern关键字引入在各个.cpp 中定义的全局变量
例如:extern int a;
2)加入在各个.cpp 中的全局函数的函数原形
例如:int glbGetVale();
在需要使用全局变量或全局函数的.cpp中加入
#include "myheader.h"
然后就可以使用
Top
5 楼every()回复于 2001-08-16 22:19:17 得分 0
我在FileView 选者Header File 新建“myheader.h"
extern int aa;
然后在需要使用全局变量或全局函数的.cpp中加入
#include "myheader.h"
可是按F5
Compiling...
TT.cpp
Linking...
TT.obj : error LNK2001: unresolved external symbol "int aa" (?aa@@3HA)
Debug/che.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Top
6 楼csdnflysnow()回复于 2001-08-16 22:44:07 得分 3
你要有定义的地方呀,必须要有一个CPP有aa的定义,如 int aa ;
否则只有申明呀.Top
7 楼csdnflysnow()回复于 2001-08-16 22:46:01 得分 0
我看你上面只有一个文件,肯定没有定义aa变量的地方,当然不行了.
extern int aa ,只是告诉编译器,aa在别的文件中定义了,这个文件只是使用.
Top
8 楼every()回复于 2001-08-16 23:10:12 得分 0
只有一步了.
我在che.cpp里定义的是对话框全局变量int aa;
我还建了一个非模式对话框CTT
在CTT.cpp里写
#include "myheader.h"
如不写
aa=10;
F5运行可以写了就会出现上面错误.
不好意思,一点小问题打扰这没久.
感谢了!!!!!!!!!
Top
9 楼every()回复于 2001-08-17 00:00:39 得分 0
gz 只差一步help me hlep me Top
10 楼every()回复于 2001-08-17 01:05:12 得分 0
谢了知道Top




