gpt4 book ai didi

C++ 头文件和 cpp 文件——我到底该如何管理它们?

转载 作者:行者123 更新时间:2023-11-30 02:00:29 25 4
gpt4 key购买 nike

尝试在 VS2010 上构建我的解决方案时,我遇到了疯狂的、神秘的编译器错误。我真的很难理解这些包括如何工作。

Game.cpp
Game.h
Deck.cpp
Deck.h
Card.h

// Game.cpp
#include "Game.h"

一切顺利。现在我需要创建一个新的套牌:

// Game.h
private:
static Deck _deck;

那么我需要包含 Deck.h 以便它知道它是什么:

// Game.h
#include "Deck.h"
class Game {
private:
Deck _deck;
}

好的,没问题。但现在我需要使用 Game.cpp 中的 _deck

// Game.cpp
#include "Game.h"
Deck Game::_deck;
void Shuffle(void)
{
_deck = Deck();
_deck.Shuffle();
}

但我收到一条错误消息,提示“Deck is undefined”。但是既然 Game.cpp 包含 Game.h,Game.h 是否应该包含 Deck.h?

如果我将 Deck.h 添加到 Game.cpp,我会得到:

"Uses undefinied class Deck Game.cpp"

"Deck class redeclaration Deck.h"

我完全不明白这个...

最佳答案

你应该看到这个解释包含守卫的stackoverflow问题

Why are #ifndef and #define used in C++ header files?

关于C++ 头文件和 cpp 文件——我到底该如何管理它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15078648/

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