인프런 커뮤니티 질문&답변
friend 전방선언 관련 질문
작성
·
419
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
1





