친애하는 모든 컴퓨터와 플로피 디스크 두 클래스가 있습니다. 난 주에C++ Undefined Type Error
#include "FloppyDisk.h"
#include "Computer.h"
넣으면
후 컴파일러 나 주에
#include "Computer.h"
#include "FloppyDisk.h"
, 그때 컴파일러 미표시 플로피 디스크 오류를 생성
미표시 시스템의 에러를 생성한다.
무엇이 문제입니까? 헤더 파일 사이에 순환 종속성이 없는지 확인했습니다.
다음은 참조 용 구현 파일입니다.
#include "EquipmentAttributes.h"
#include "EquipmentVisitor.h"
#include "Computer.h"
#include "BoostHeader.h"
#include <algorithm>
// =============================================
computer::computer()
: cont()
{
}
// =============================================
void computer::add(equipment* equip)
{
cont.push_back(equip);
}
// =============================================
void computer::remove(equipment* equip)
{
vecIte myIte;
myIte = std::find(cont.begin(), cont.end(), equip);
cont.erase(myIte);
}
// =============================================
void computer::accept(equipmentVisitor* visitor)
{
BOOST_FOREACH(equipment* anEquip, cont)
{
anEquip->accept(visitor);
}
visitor->visitComputer(this);
}
// =============================================
computer::equipVec computer::getCont() const
{
return cont;
}
#include "FloppyDisk.h"
#include "EquipmentAttributes.h"
#include "EquipmentVisitor.h"
// =============================================
floppyDisk::floppyDisk(const int userPrice, const std::string& userName)
: state(new equipmentState(userPrice, userName))
{
}
// =============================================
void floppyDisk::accept(equipmentVisitor* visitor)
{
visitor->visitFloppyDisk(this);
}
// =============================================
floppyDisk::equipPtr floppyDisk::getState() const
{
return state;
}
도와주세요.
감사합니다.
컴파일러 출력도 게시 할 수 있습니까? – Nubsis
헤더 파일을 볼 수 있습니까? 아마 문제가있는 곳일 겁니다. –