2017-12-20 12 views
0

간단한 예제와 같은 포인터의 이름은 무엇입니까. OK - foo에 사용 된 포인터는 클래스 막대에 대한 포인터이기도합니다. 그러나 클래스 바는이 장소에서 알려서는 안됩니다.클래스 바 * 바

foo의 인수에 대해 올바른 이름을 찾을 수 없습니다. 익명 클래스에 대한 포인터입니까? class Bar *bar의 올바른 이름은 무엇입니까?

+2

* 앞으로 선언 *이란 뜻입니까? –

+2

귀하의 질문에 명확하지 않은, 특히 '바'선언이 없습니다. 제발 [mcve] –

+0

게시 @ 마이클 Walz 나는 '바'선언이이 질문에 관련 있다고 생각하지 않습니다. – Detonar

답변

3

forward declaration이 필요합니다.

in the documentation 또는 in a different post에 대해 읽을 수 있습니다. 문서에서

:

Declares a class type which will be defined later in this scope. Until the definition appears, this class name has incomplete type. This allows classes that refer to each other.

+0

cppreference.com에 대한 링크가 적절합니다. 거기에서 관련 부분을 복사하고 인용하여 대답을 향상시킬 수 있습니다. (그리고 오타가 있습니다 : "문서"대신에 "codumentation"- 재미 있어요 ...) – Scheff

+0

@Scheff 주석 주셔서 감사합니다. 문서에서 "티저"를 추가했습니다. 나는 개인적으로이 사이트에서 간결한 답변을 원하고, 특히 두 링크가 아주 좋은 설명을 할 때, 그들의 시야를 넓히고 자하는 사람을위한 참조를 추가합니다. – Mixhab

+0

내가 너무 어렸을 때 (그래서 그리 오래 전부터) 새로운 사람은 "링크가 시간이 지남에 따라 썩어 빠져 나옴"으로 선호해야한다고 덧붙였다.사실입니다. 시간이 지남에 따라 링크가 끊어진 부분에 대한 좋은 답변을 발견했습니다. – Scheff

2

내가이 인라인 앞으로 클래스 선언 부를 것이다 그러나 나는 특별한 이름이 거기에 생각하지 않습니다.

그냥이 클래스에서 사용할 수있는 Bar 클래스가 있다고 알려줍니다.

의 전화 번호는 Bar이며이 번호는 단지이 번호로만 가능합니다. 그것이라고 말하는 것은 입니다.인데, 그것이 무엇인지는 말하지 않습니다. Bar불완전한 유형입니다.