혼란스러운 제목으로 불편을 드려 죄송합니다. 제 질문에 더 좋은 방법을 생각할 수 없습니다.원본 파일을 포함하여 파일에서만 선언 된 개체 사용
Foo.cpp
파일에 선언 된 클래스 Foo
이 있습니다.
Foo.cpp
그러나 파일 Bar.h
을 포함하고 클래스 Bar
은 Foo
개체의 새 인스턴스를 만들려고합니다. 물론 정의되지 않은 식별자 오류가 발생합니다. 각 정적 멤버에 액세스해야하기 때문에 각 파일에 두 헤더를 모두 포함해야합니다.
이 기능을 구현할 수있는 방법이 있습니까?
예 : Foo.h
#ifndef FOO_H
#define FOO_H
#include "Bar.h"
class Foo
{
public:
Foo()
{
_newNum = Bar::_num;
}
private:
int _newNum
};
Bar.h
#ifndef BAR_H
#define BAR_H
#include "Foo.h"
class Bar
{
public:
static int _num;
private:
Foo f; // Error occurs here, Foo is undefined according to Foo.h.
};
편집 : 아 미안 매우 잘못 작성된 질문. 나는 매우 피곤하다고 느낍니다. 결정된.
클래스 선언 후 세미콜론 (';')이 누락 되었습니까? 또한 왜'Foo.h'와 함께'Bar.h'를 포함하고 그 반대도 포함합니까 ?? – user0042
'Foo'는'Foo'를 사용해야하는'Bar'가'Bar.h'를 포함하는 이유는 무엇입니까? 이것은 단순히 잘못된 길일 것 같습니다 – UnholySheep
오류를 수정 해 주셔서 감사합니다. – chickenwingding