首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以删除特定文件的声明和宏?

是否可以删除特定文件的声明和宏?
EN

Stack Overflow用户
提问于 2018-12-07 03:45:37
回答 1查看 140关注 0票数 2

我有一个头文件(让我们叫它Window.h),看起来有点像这样:

代码语言:javascript
运行
复制
#include <windows.h>

class Window {
    Window();
    HWND hwnd;
}

要在另一个文件(例如Main.cpp)中使用此类,必须包含Window.h:

代码语言:javascript
运行
复制
#include "Window.h"

问题是我不希望Main.cpp包含windows.h,因为windows.h在名称空间之外添加了很多宏和新声明,这是我不希望出现在Main.cpp中的。我不能把windows.h移到Window.h的实现(Window.cpp)中,因为该类有HWND属性。

我能想到的唯一解决办法是将hwnd声明为指针:

代码语言:javascript
运行
复制
void* hwnd;

但我不喜欢这种方法。如果你经常这样做,事情可能会变得非常混乱。有没有更好的方法来做到这一点,也许是以某种方式从Main.cpp文件中“移除”声明和宏?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53658595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档