-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
friend 전방선언 관련 질문
21.11.25 17:39 작성 조회수 267
0
안녕하세요. 다음은 6:38 초에 다룬 코드입니다.
#include <iostream>
class B; // forward declaration
class A {
private:
int m_value{ 1 };
friend class B;
};
class B {
private:
int m_value{ 2 };
public:
void doSomething(A& a) {
std::cout << a.m_value << '\n';
}
};
int main() {
A a;
B b;
b.doSomething(a);
return 0;
}
여기서 forward declaration (class B;) 을 빼도 코드는 정상 작동합니다(적어도 MSVS 2019에서는 오류가 없네요). 이유가 궁금합니다. 감사합니다.
답변을 작성해보세요.
1
안소
2021.11.25
class 를 friend 로 하는데에 있어선 전방선언이 필요 없는 것 같네요.
이유에 대해선 링크 참고해주세요! https://www.ostack.cn/?qa=834163/
답변 1