"C++에서 생각하는"책에서 언급 한 연습 문제 중 하나를 언급하고 있습니다. 코드 스 니펫은 h.play 호출에 대해 오류가 발생합니다. 이해할 수있는 부분은 입니다. 개인.하지만 통화 me.play에 대해 동일한 오류를 기다리고 있었다. 내가 전화를 언급하는 경우는 호출 me.play에 대한 오류가없는 이유는 코드가. 잘 컴파일 h.play?템플릿 쿼리, 개인 멤버에 액세스
class Buddy {};
template<class T> class My {
int i;
public:
void play(My<Buddy>& s) {
s.i = 3;
}
};
int main() {
My<int> h;
My<Buddy> me, bud;
h.play(bud);
me.play(bud);
}
을 감사합니다.
[편집] 컴파일러에서 생성 된 코드를 확인하는 방법이 있습니까
My<int> h and
My<Buddy> me
? (-E 컴파일러 플래그와 비슷한 것)?
고마워요. 템플릿 인스턴스에 대해 컴파일러에서 생성 된 코드를 볼 수있는 방법이 있습니까? – irappa
@irappa 불행히도, 나는 그렇게 생각하지 않습니다. – Pubby