我想问一下,如何在另一个内部定义类。在下面的代码中。我尝试以#define" 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
出现以下错误。
In file included from src/CNewGame.cpp:12:0:
src/CNewGame.h:37:36: error: ‘CCompField’ was not declared in this scope
src/CNewGame.h:37:45: error: ‘b’ was not declared in this scope
src/CNewGame.h:37:50: error: expected primary-expression before ‘&’ token
src/CNewGame.h:37:52: error: ‘a’ was not declared in this scope
src/CNewGame.h:37:53: error: variable or field ‘BodyOfGame’ declared void
答案 0 :(得分:3)
而不是#define "CCompField.h"
您需要包含它:
#include "CCompField.h"
你还有一对
#ifndef CNEWGAME_H
#define CNEWGAME_H
但只有一个结束#endif
。您不需要第二对#ifndef
/ #define
答案 1 :(得分:1)
我尝试以#define“CCompField.h”的方式定义它,但它不起作用。 :(
您需要找出CCompField
定义#include
的头文件,#define
CNewGame.h
({{1}}}。