2
내가 다음과 유사한 Target
클래스가 : 이제불완전한 유형 : 기능
class Target
{
std::function<void(A&,B&,C&)> Function;
}
을,이 매개 변수 유형 중 하나를 (예를 들어 A)하는 Target
멤버가 그 함수를 호출하려고합니다 :
class A
{
Target target;
void Foo(B& b, C& c)
{
target.Function(*this,b,c);
}
}
아래 두 줄은 헤더 파일에 표시됩니다. 순환 종속성이 주어지면 전달 선언이 있고 불행하게도 error : pointer to incomplete class type is not allowed
오류가 발생합니다.
질문은 -이 문제에 대해 어떻게 할 수 있습니까?
'Foo'를 라인 밖으로 정의 하시겠습니까? 순환도가 어떻게 발생하는지 정확하게 보여줄 필요가 있다고 생각합니다. 정확히 어떤 오류가 발생했는지, 어디에서 확인할 수 있습니까? –
"이것에 대해 어떻게해야합니까?" - 뭐가? – SChepurin
@SChepurin 어떻게 오류가 발생하지 않도록 할 수 있습니까? –