我收到以下代码的错误。错误为incomplete type is not allowed
和use of undefined type 'mGame'
。
header.h:
//--Libraries
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
//--Classes
class mGame;
Game.cc:
#include "header.h"
class mGame
{
private:
public:
bool intro();
};
Intro.cc:
#include "header.h"
bool mGame::intro() //--Line 3
{
printf("|-----------------------------|\n");
printf("\n Welcome to the Guessing Game!\n");
printf("\n|-----------------------------|\n");
return false;
}
错误都在intro.cc的第3行。我试着找到一个解决方案,但我不能做我正在做的事情。
答案 0 :(得分:0)
为了能够使用mGame
中的Intro.cc
,您必须将类声明移动到header.h
(或者从Intro.cc
包含到其他一些头文件中)
在header.h
中有一个前瞻性声明是不够的(这是“不允许不完整类型”的意思)。
答案 1 :(得分:0)
header.h不知道game.cc的任何定义,只告诉header.h,有一个类mGame。将game.cc重命名为game.h并将其包含在header.h中并删除“class mGame;”
行