Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 错误:‘;类别’;未在此范围中声明_C++_Class_Templates_Declaration - Fatal编程技术网

C++ 错误:‘;类别’;未在此范围中声明

C++ 错误:‘;类别’;未在此范围中声明,c++,class,templates,declaration,C++,Class,Templates,Declaration,我想问,如何在另一个类中定义类。在下面的代码中。我试图用定义“CCompField.h”的方式来定义它,但它不起作用(. 我认为这是一个非常常见的编程问题,可能在互联网上解决了100000次,但我不知道如何找到它。谢谢你的帮助 #ifndef CNEWGAME_H #define CNEWGAME_H class CNewGame{ public: CNewGame(); ~CNewGame(); void

我想问,如何在另一个类中定义类。在下面的代码中。我试图用定义“CCompField.h”的方式来定义它,但它不起作用(. 我认为这是一个非常常见的编程问题,可能在互联网上解决了100000次,但我不知道如何找到它。谢谢你的帮助

#ifndef CNEWGAME_H
#define CNEWGAME_H

class CNewGame{
    public:
               CNewGame();
              ~CNewGame();

        void  BeginnerGame();
        void  IntermediateGame();
        void  AdviceGame();
        void  HowToPlay();
        void  NetGame( int mode );


        int MoveInMenu();

    protected:
        void  Intro();
        void  Animation ();
        void  Menu(int);
         int  MoveInNetMenu();
        void  NetMenu(int);

        void  HeadOfGame();
template <class T> void BodyOfGame(CCompField & b, T & a);
        void  FooterOfGame();
};

#endif
我试图用定义“CCompField.h”的方式来定义它,但它不起作用(

您需要从
CNewGame.h

中找出定义了
CCompField
的头文件和
#include
(而不是
#define
)它,而不是
#define“CCompField.h”
您需要包括它:

#include "CCompField.h"
你还多了一双鞋

#ifndef CNEWGAME_H
#define CNEWGAME_H  

但是只有一个结束符
#endif
。你不需要第二对
#ifndef
/
#define

你有两次页眉保护的原因吗?没有,我没有两次。我在复制过程中只会出错很棒。如果答案与下面的答案相同,请选择它作为正确答案。如果没有,请将正确答案张贴到这是对你问题的回答,并选择它作为正确答案。答案是,作为一个新用户,我只包括了类CCompField。我无法在不到8小时内回答我自己的问题。当然,我尝试了它,因为#包括“CCompField.h”/我犯了一个错误,创建了post:s/那么你必须将CCompField.h放在与oher文件相同的目录中(或者至少在编译器使用的include路径上)我找到了一个解决方案,我试图只包括CCompField,但需要包括#include“CField.h”#include“CCompField.h”#include“ccomnfield.h”因为它是它们的子类。我很感激你的回答。很抱歉有点混乱。我是新来的。我找到了解决方案,我试图只包含ccomfield,但需要包含#包含“CField.h”#包含“ccomfield.h”#包含“ccomfield.h”因为这是他们的子类。我很感激你的回答。抱歉有点混乱。我是新来的。
#ifndef CNEWGAME_H
#define CNEWGAME_H