1

これがなぜなのか少し混乱しています.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();
...

問題は、「Screen.h」が含まれる前に「Windows.cpp」に既に含まれているのに、なぜ Screen.h 内に windows.h を #include する必要があるのですか?

4

1 に答える 1

4

簡潔な答え:

が含まれていない#include <windows.h>可能性のある他のファイルがあるためScreen.hです。

少し長い:

一般に、必要なヘッダーは常に必要な場所に含める必要があり、他の場所に含まれていることに依存しないでください。可能であれば前方宣言を使用しますが、完全な型が必要な場合はヘッダーを含めます。

于 2013-05-12T15:27:02.780 に答える