C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

error: friend declaration does not name a class or function

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Matthieu Moy
Guest





PostPosted: Tue Mar 22, 2005 2:42 am    Post subject: error: friend declaration does not name a class or function Reply with quote



Bonjour,

Le programme suivant ne compile pas avec GCC 3.4.1 :

namespace n1 { }

class c2 {
friend class n1_c1;
friend class n1::c1; // erreur ici.
};

namespace n1 {
class c1 {};
}

Il me réponds

namespace-friend.cpp:5: error: expected type-name
namespace-friend.cpp:5: error: friend declaration does not name a class or function

Avec comeau online, idem :

"ComeauTest.c", line 5: error: namespace "n1" has no tag member named "c1"
friend class n1::c1; // erreur ici.
^

Ce qui m'étonne, c'est que le compilateur ne râle pas si il trouve une
classe "normale" inconnue derrière "friend class", mais il râle si la
classe est dans un namespace.

Y a-t-il une raison particulière a cela ?

Y a-t-il un moyen plus élégant que d'ajouter les "forward
declarations" pour chaque classe avant le "friend" ?

Merci,

--
Matthieu
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.