一个WinMain类型的程序,有7个文件:
A00.h
B01.h B01.cpp
B02.h B02.cpp
B03.h B03.cpp
在A00.h里面定义了一些公共的变量,现在的问题是我如果在B01.h,B02.h,B03.h里
都加上#include "A00.h"的话,编译成功但在link的时候告诉我定义重复。如果不include的话,又告诉我没有定义变量,我该怎么办?
A00.h
B01.h B01.cpp
B02.h B02.cpp
B03.h B03.cpp
在A00.h里面定义了一些公共的变量,现在的问题是我如果在B01.h,B02.h,B03.h里
都加上#include "A00.h"的话,编译成功但在link的时候告诉我定义重复。如果不include的话,又告诉我没有定义变量,我该怎么办?
解决方案 »
- windows编程本地程序怎样调用网络搜索?就是类似于百度桌面搜索工具的?
- 使用定时器画图,重画的时候中断.
- CreateProcess第一和第二个参数如何用?
- 在支持Unicode编程下,CString的Format函数这种格式str.Format(_T("%S-%s")),str1,str2);怎么实现不了?
- 如何获得另外一个对话框的句柄?
- ★★★★★如何利用VC得到机子里安装的操作系统个数
- 几个问题,个人认为有难度:)可能我太菜!!!!
- 请问SUN ONE是什么东西?
- 如何获取图文(股票)卡的数据?
- 怎么样设置像ICQ或OICQ这样服务器?
- 送分题,在VC中怎样实现把一张表中的数据全部显示出来?
- 在线请教
您可以在一个.cpp文件中定义,然后在其他文件中用extern声明。
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_TESTVECTORVIEW_H__D417212C_015C_4ED0_82A6_C3324BB4B48A__INCLUDED_)
#define AFX_TESTVECTORVIEW_H__D417212C_015C_4ED0_82A6_C3324BB4B48A__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000.....#endif
to zfive5(醉马不肖):按照你说的添加上了,但是还是同样的错误
#define AAAA.h文件的结尾处
#endif可以避免这个.h文件的内容重复include
#ifndef _A00_H
#def _A00_H
;
;
;
#endif
就可以了
你们说的方法我都试了,不好用,我觉得很奇怪,避免重复定义
因该就是用这个方法呀,可是为什么没有效呢?是不是有什么设定
或是要求呢?
我认为只能定义在.CPP文件中,然后用extern声明.哪位高手能给出一个将全局变量定义在头文件中而不出错的例子(VC6.0),小弟将无比佩服.
试了一下,还是不好用:(
不会吧?
这样都还不行????????????quote:zfive5(醉马不肖) ( ) 信誉:100 2003-06-11 09:57:00 得分:0
// TestVectorView.h : interface of the CTestVectorView class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_TESTVECTORVIEW_H__D417212C_015C_4ED0_82A6_C3324BB4B48A__INCLUDED_)
#define AFX_TESTVECTORVIEW_H__D417212C_015C_4ED0_82A6_C3324BB4B48A__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000.....#endif
在每个头文件都加入预编译
#ifndef ****
#define &&&&&
#endif
这样可以防止重复编译!