Erro do compilador C2391
'identifier': 'friend' não pode ser usado durante definição de tipo
A declaração friend
inclui uma declaração de classe completa. Uma declaração friend
pode especificar uma função membro ou um especificador de tipo elaborado, mas não uma declaração de classe completa.
O seguinte exemplo gera o erro C2326:
// C2391.cpp
// compile with: /c
class D {
void func( int );
};
class A {
friend class B { int i; }; // C2391
// OK
friend class C;
friend void D::func(int);
};