gpt4 book ai didi

c++ - 包括它们在 C++、Windows 中的调用顺序

转载 作者:可可西里 更新时间:2023-11-01 11:19:59 24 4
gpt4 key购买 nike

我有点困惑为什么会这样,我确信如果我用 C++ 编程,这是我应该知道的基本知识,但问题是:

我有一个“Windows.cpp”,它的顶部包含

#include <windows.h>
#include "Game.h"
#include "Mouse.h"
#include "Screen.h"
...

在我的 Screen.h 中,由于使用了 DWORD,所以显然需要来自 windows.h 的信息:

#pragma once

#include <windows.h>

class ScreenServer;

class ScreenClient
{
public:
ScreenClient( const ScreenServer &server );

DWORD GetScreenHeight();
DWORD GetScreenWidth();
...

问题是,当我的“Windows.cpp”在包含“Screen.h”之前已经包含它时,为什么我必须在 Screen.h 中#include windows.h?

最佳答案

简答:

因为一些其他文件没有#include <windows.h>可能包括 Screen.h .

有点长:

一般来说,您应该始终在需要的地方包含您需要的 header ,而不是依赖于它们包含在其他地方。尽可能使用前向声明,但如果您需要完整类型,请包含 header 。

关于c++ - 包括它们在 C++、Windows 中的调用顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16508887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com