2개의 클래스가 서로를 포함하는 코드입니다.
#include<iostream>
using namespace std;
class Weapon;
class Human;
class Human
{
public :
int a;
Weapon myWeapon;
Human() :a(3)
{}
};
class Weapon
{
public :
int a;
Human myHuman;
Weapon() :a(3)
{}
};
int main(void)
{
Human human;
Weapon weapon;
printf("human--myWeapon--a : %d\n", human.myWeapon.a);
printf("weapon--myHuman--a : %d", weapon.myHuman.a);
return 0;
}
Human은 자신의 무기(Weapon)가 무엇인지 알기위해, Weapon은 자신의 소지자(Human)가 누구인지를 알 기 위해
서로를 포함하는 예제코드를 작성하였습니다.
그런데 컴파일을 하면 아래와 같은 에러문이 나옵니다.
오류 C2079 'Human::myWeapon'은(는) 정의되지 않은 class 'Weapon'을(를) 사용합니다. Contain_Test 15
오류 C2228 '.a' 왼쪽에는 클래스/구조체/공용 구조체가 있어야 합니다. Contain_Test 45
인터넷을 찾아보니
class Weapon;
class Human;
이 2개 문장을 추가하면 해결 되는듯 해서 따라해보아도 마찬가지로 에러가 나오네요...
어떻게 해야할까요??