,이 코드의 엄청 많이 ... 나는 불완전한 유형 오류를 많이 볼 수
이다. 이런 종류의 에러는 아직 완벽하게 구현/알려지지 않은 구조체를위한 공간을 할당하려고 할 때 발생합니다. 따라서 컴파일러가 올바르게 할당하지 못하고이 에러를 반환합니다. 여기 예를 들어
:
class A {
A aVariableOfTypeA;
...
}
같은 오류가 발생합니다.
당신이 포인터를 사용할 필요가이 문제를 해결하려면 : 컴파일러는 멤버 변수 (aVariableOfTypeA를) 찾을 순간
class A {
A* aVariableOfTypeA;
...
}
를, 유형 "A 등급은"이미 정의 등을위한 공간을 할당한다 포인터는 알려진 양의 메모리 (메모리 워드의 크기)를 취하기 때문에 포인터는 유효합니다.
코드를 살펴본 다음 위에 쓴 것과 비슷한 항목이 있는지 확인하십시오. 희망이 도움이됩니다! πάντα에서 주석을 해결하기 위해
는 --- 멤버 변수 유형은 자신의 클래스이므로 앞으로 선언을하지 않아도 내 예에서
을 ῥεῖ. 그러나,이 고려 :이 경우
class A {
A* memberA;
B* memberB;
};
class B {
A* memberA;
B* memberB;
}
당신이 아직 (B) 정의되지 않은 유형의 사용을 순간에 당신이를 정의하기위한 앞으로 declaraion를 사용해야합니다, 그래서 당신이 할 필요가 컴파일러는 B가 무엇이되어야 하는지를 안다. 앞으로 선언으로
:
코드의 엄청 많이와 오류의 엄청 많이이야
class B; //Letting the compiler know that B will be a class;
class A {
A* memberA;
B* memberB;
};
class B {
A* memberA;
B* memberB;
}
. 그리고 우리는 실제로 디버깅 서비스가 아닙니다. 직접 고치려고 했습니까? 어쩌면 코드가있는 곳에서이 질문을해야 할 것입니다. 아니면 함께 포함 된 설명서를 읽어 보시겠습니까? –