Namespace or not namespace ?

anarchysniper Messages postés 65 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 septembre 2005 - 1 avril 2005 à 13:44
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 2 avril 2005 à 15:17
namespace Wyrd

{

class Window

{

[...]

void CreateWindow() ;

} ;

}



Mon adorable compilateur GCC-MinGW32, toujours à l'affut de nouvelles
possibilités d'erreurs, refuse obstinément de différencier ma fonction
CreateWindow() de son homonyme windowsien.



La différentiation fonctionne parfaitement entre deux namespaces mais
quand on tente de différentier une fonction d'un namespace d'une de ses
cousines définie à l'extérieure d'un de ces derniers, on n'obtient en
retour qu'un frontal et désobligeant refus.



Pour justifier cette infâmie, les arguments de la défense se résument à :



45 E:\Programmation\Wyrd\dev\include\wyrd_window.h:20 macro "CreateWindowA" requires 11 arguments, but only 1 given



ou encore :



20 E:\Programmation\Wyrd\dev\include\wyrd_window.h variable or field `CreateWindowA' declared void



A part enferner tout le <windows.h> dans un namespace pour
empêcher ses fonctions de piétiner mes plates-bandes - un peu radical -
ou encore, plus simplement, renommer ma fonction - déshonnorant -, existe-t-il une
solution pour mettre mon namespace en face de ses responsabilités ?

4 réponses

steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
1 avril 2005 à 19:23
Tu es sur que tu n'a pas un using namespace Wyrd qui traine ? (ou un truc dans le genre)
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
2 avril 2005 à 12:17
Bj

pr utiliser TA classe

Wyrd::CWindows d;
d.CreateWindows(...)

rq: il pourrait etre utile de la faire hériter de CWindow de la STL (std::CWindow )

je trouve curieux que tu ne distingue pas ton nom de classe du nom standard;

car pour te simplifier, tu pourrais mettre un using
mais le compilo se perdrais alors sans savoir quelle classe utiliser (la STL ou la tienne)
0
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
2 avril 2005 à 12:39
Il n'y a pas de classe CWindow dans la STL (c'est impossible), tu ne confondrais pas avec une autre bibliothèque ??
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
2 avril 2005 à 15:17
k steve...
I'm an MFC addicted.... tentant de s'en défaire....

+++
0
Rejoignez-nous