标题混乱

时间:2014-04-26 19:20:50

标签: c++ include

我实际上回答了我自己的问题,这就是导致这个问题的原因。我所做的就是尝试在另一个文件中实例化我的Hands类。我有很多其他类被实例化没有问题。除了我的Hands实例,它说我错过了一个类型说明符,并说我错过了一个&#34 ;;"当我不在的时候。

我真的从Hands.h文件中复制+粘贴代码以粘贴到SO问题中,当我意识到我的Hands.h类是我唯一的类#include来自我的State.h。 (在我的State.h中,我是#include-几乎所有课程)。所以当我意识到唯一的一个是Hands.h时,我查看了我在State.h中实例化的所有其他.h文件。所以我想我会尝试从Hands.h中取出#include State.h,看看会发生什么,我的错误就会消失。我只是想知道为什么如果我是#包含来自State.h的Hands.h和来自Hands.h的State.h那么重要的地狱

Hands.h

#include "Aesthetics.h"
#include "GamePlay.h"
#include "Checks.h"
#include "Poker.h"
#include "Deck.h"
#include "DrawCard.h"
//#include "State.h //<--- what I commented out, and it worked

State.h

#include "Hands.h"
#include "Aesthetics.h"
#include "GamePlay.h"
#include "Checks.h"
#include "Poker.h"
#include "Deck.h"
#include "DrawCard.h"

1 个答案:

答案 0 :(得分:0)

您有两种方法可以解决此问题:

1)添加一些预处理器行以避免多个包含相同的头:

#ifndef __HANDS_H__
#define __HANDS_H__

// here your code

#endif

和State.h的相似之处

2)在标题上添加一个pragma指令:

#pragma once

第二个不是c ++标准的一部分,但在许多编译器中实现(gcc,vs,llvm)。

我希望这可以帮到你。