2
class Foo
{
template <typename T> friend void T::persist(void);
int test;
};
class Bar
{
Foo foo;
void persist(void) { foo.test = 42; } // fails
}
이렇게하면, 그것을 정의하는 모든 클래스의 persist() 멤버 메소드가 foo의 친구가되기를 바랍니다. 이상한 친구가 생겨나지만 아무것도하지 않는 것처럼 보입니다.아주 간단한 템플릿 친구 선언
미리 감사드립니다.
내가 아는 한, 당신은 무료 함수, 클래스 및 템플릿 만 친해질 수 있습니다. 한 클래스에서 하나의 멤버 함수 만 친구가 될 수는 없습니다. –
@KerrekSB 클래스가 지정되지 않은 경우에는 사용할 수 없습니다. 템플릿으로는 작동하지 않습니다. – hvd
@hvd : 알겠습니다, 감사합니다! –