이 코드 세그먼트를 실행하려고하면 다음과 같은 오류가 발생합니다. "메뉴의 이름을 지정하지 않습니다."원형 참조와 관련이있는 것을 알고 있지만 내게는 그럴 수 없습니다. 무엇을 알아 내라. 또한 메뉴, 이동 및 관리자가 반복적으로 오류를 제공합니다. 코드 세그먼트는 아래 게시되어 있습니다 :불완전한 유형 C++
#ifndef GO__H
#define GO__H
#include <SDL.h>
#include <iostream>
#include <string>
using std::cout; using std::endl;
using std::string;
#include "ioManager.h"
#include "gui.h"
#include "clock.h"
#include "menu.h"
//class Menu;
class Go {
public:
Go();
void play();
private:
SDL_Surface *screen;
Gui gui;
Menu menu;
void drawBackground() const;
Go(const Go&);
Go& operator=(const Go&);
};
#endif
여기 메뉴 :
#ifndef MENU_H
#define MENU_H
#include <SDL.h>
#include <iostream>
#include "ioManager.h"
#include "gui.h"
#include "clock.h"
#include "manager.h"
class Menu {
public:
Menu();
void play();
private:
const Clock& clock;
bool env;
SDL_Surface *screen;
Gui gui;
Manager mng;
void drawBackground() const;
Menu(const Menu&);
Menu& operator=(const Menu&);
};
#endif
관리자 :
문제가 어디에 있는지 볼 수#ifndef MANAG_H
#define MANAG_H
#include "go.h"
class Manager {
Go go;
//other code
}
? 오류 메시지 :
In file included from go.h:13:0, from manager.h:33, from manager.cpp:2: menu.h:28:11: error: field ‘mng’ has incomplete type
표면이 정상적으로 보입니다. 오류를 일으키는 코드가 맞습니까? – juanchopanza
실제로 다른 유사한 오류가 발생하여 코드가 게시됩니다. –
menu.h가 어떻게 든 go.h를 참조 할 수 있습니까? 이런 종류의 오류가 발생할 수 있습니다. – Benj