Определение класса и ошибки использования

Я получаю ошибки со следующим кодом. Ошибки 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;
}

Обе ошибки находятся в строке 3 intro.cc. Я пытался найти решение, но я не мог за то, что я делаю.

2 ответа

header.h не знает никаких определений game.cc, вы только указываете header.h, что существует класс mGame. переименуйте game.cc в game.h и включите его в header.h и удалите строку "class mGame;"

Чтобы иметь возможность использовать mGame от Intro.cc, вы должны переместить объявление класса в header.h (или в другой заголовочный файл, который вы включаете из Intro.cc).

Наличие предварительной декларации в header.h недостаточно (это то, что подразумевается под "неполный тип не допускается").

Другие вопросы по тегам