我有一个头文件(让我们叫它Window.h),看起来有点像这样:
#include <windows.h>
class Window {
Window();
HWND hwnd;
}
要在另一个文件(例如Main.cpp)中使用此类,必须包含Window.h:
#include "Window.h"
问题是我不希望Main.cpp包含windows.h,因为windows.h在名称空间之外添加了很多宏和新声明,这是我不希望出现在Main.cpp中的。我不能把windows.h移到Window.h的实现(Window.cpp)中,因为该类有HWND属性。
我能想到的唯一解决办法是将hwnd声明为指针:
void* hwnd;
但我不喜欢这种方法。如果你经常这样做,事情可能会变得非常混乱。有没有更好的方法来做到这一点,也许是以某种方式从Main.cpp文件中“移除”声明和宏?
https://stackoverflow.com/questions/53658595
复制相似问题