A function can be defined in a friend declaration of a class if and only if the class is a non-local class (9.8),
the function name is unqualified, and the function has namespace scope.
friend class TCPListen : public Thread
{
public:
TCPThreadedServer* server;
bool listen;
/// This method runs in an own thread.
void run();
};
/// The listen-thread.
TCPListen* listener;
das gibt dann einem zu denken.
ich dachte jedenfalls, dass diese art der deklaration auch möglich wäre.
Mein gcc-4.6.2 ist da auch ganz strikt - keine friend Definition.
Wobei hier friend eh überflüssig ist. Nested classes liegen im scope der umschließenden Klasse und haben somit Zugriff auf deren private Member.
Probiers aus:
danke für die antwort.
die deklaration der methode run() hat bei mir die frage aufkommen lassen.
also ob klassen-deklaration oder klassen-definition.
jetzt weiß ich es