begin process at 2012 05 29 13:06:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

namespace


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

namespace

mardi 17 août 2004 à 08:35:22 | namespace

magic_Nono

Membre Club
j'ai modifié mes classes n'étant jamais instanciées en namespace
et j'ai quelques intérogations :

1>
dans le header, pkoi le static ne passe pas
ex : static void afficheErreurWinExec(const unsigned int retour_WinExec);


soluce : void afficheErreurWinExec(const unsigned int retour_WinExec);

2>
pkoi ds le source,
lorsqu'on défini le namespace
2 modes d'ecriture ont l'aire possible


void BVisuel::afficheErreurWinExec(const unsigned int retour_WinExec)
{
..
}
et

void afficheErreurWinExec(const unsigned int retour_WinExec)
{
..
}

Dans, le 1er cas je ne comprends pas trop...

3>
En utilisant VC6 (non testé ailleur)
ces fonctions ne sont plus visibles dans le ClassViewer, comment résoudre ce probleme?




rq: ces fonctions ce trouvent dans ma source BVisuel deja produite & utilisées dans mes sources...

Merci
++

Magic Nono: l'informagicien!
mardi 17 août 2004 à 08:52:06 | Re : namespace

magic_Nono

Membre Club
a si, pr la qu 3, en utilisant la 2e meth de la question 2,
tt apparait ds globals
(invisible sinon...)


alors
4>
quel est l'intéret des namespace ???
le code semble encore moins organisé !


++
Magic Nono: l'informagicien!
mardi 17 août 2004 à 10:32:23 | Re : namespace

vecchio56

Administrateur CodeS-SourceS
J'ai pas trop compris ce qui était résolut et ce qui ne l'était pas.
Les namespace servent a rassembler des fonctions qui ont un rapport entre elles et qui forment un tout. Si tu ne mets pas de BVisuel:: devant ta fonction, elles sont dans le namespace global, sinon c'est dans BVisuel, mais tu peux faire les deux.
mardi 17 août 2004 à 10:45:33 | Re : namespace

magic_Nono

Membre Club
vecchio > merci pr ta réponse, rien de résolu
le 2e post est un constat et une 4e question

je vais spécifier ici le source :


namespace BVisuel
{
void BVisuel::afficheErreurWinExec(const unsigned int retour_WinExec)
{
..
}

void afficheErreurWinExec2(const unsigned int retour_WinExec)
{
..
}

};




afficheErreurWinExec n'apparait po ds le classwizard, d'ailleur, le namespace pourrait apparaitre comme une classe ou une structure, ce serait pratique....

afficheErreurWinExec2 apparait lui dans le namespace global alors qu'il se trouve bien dans le namespace BVisuel

ptet que C une erreur d'analyse de Visual alors....
avec toutes ses dérogations aux normes, ça ne serait mm plus étonnant.

voila le constat et l'intérrogation
++

Magic Nono: l'informagicien!
mardi 17 août 2004 à 11:24:58 | Re : namespace

vecchio56

Administrateur CodeS-SourceS
En général on ne met dans le nemaspace que les déclarations; les définitions se font en dehors:

namespace BVisuel // Pas de définition, ni de BVisuel:: ici
{
void afficheErreurWinExec(const unsigned int retour_WinExec);
}

// GLOBAL
void afficheErreurWinExec2(const unsigned int retour_WinExec)
{
..
}

// BVisuel
void BVisuel::afficheErreurWinExec(const unsigned int retour_WinExec)
{
..
}

Et la plus de problème dans l'Affichage des classes de vs.
C'est juste une méthode pour séparer l'interface et l'implémentation comme tu le ferais avec une classe, tu n'avais pas tout défini dans le bloc class je suppose.
mardi 17 août 2004 à 11:36:08 | Re : namespace

magic_Nono

Membre Club
OK

(avec VC6 en tt cas)
cela fonctionne sans specifier le namespace ds le .cpp
ssi on spécifie BVisuel::

sinon, il semble nécessaire de définir le namespace au sein du cpp

je avais mis car je l'avais dans les classes sur lesquelles je travaille (Imaging Sources, utilisation de caméras 1394)

et effectivement, le pb viens de VS qui n'affiche ni les namesapces ni leur intérieur (je trouve cela perturbant et bête)
comme je trouve embettant d'avoir un simulacre de namespace global contenant toute les méthodes en utilisant la seconde solution


autrement, sans mettre le namespace dans le cpp on obtient l'erreur suivante:



msgBoxAmodale.obj : error LNK2001: unresolved external symbol "void __cdecl BVisuel::afficheErreurWinExec(unsigned int)" (?afficheErreurWinExec@BVisuel@@YAXI@Z)
Docum.obj : error LNK2001: unresolved external symbol "void __cdecl BVisuel::afficheErreurWinExec(unsigned int)" (?afficheErreurWinExec@BVisuel@@YAXI@Z)
Debug/MetaProg.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.



Magic Nono: l'informagicien!
mardi 17 août 2004 à 15:35:31 | Re : namespace

magic_Nono

Membre Club
bon...

djl > ça y é, G englobé ttes mes bibli ds un namespace

mais comme j'apprécie avoir des noms courts et comme j'utilise

BVisuel, BString, BListeIndir.... à tt bout de champ,
au lieu de tout reprendre, j'ai inclu ds le stdafx

using namespace BIBLI_BC;

ceci dit il ne connaissait pas, alors du coup le stdafx comporte ces lignes en plus:



namespace BIBLI_BC{};
using namespace BIBLI_BC;


C mieu, car tt est englobé, mais l'un dans l'autre, ça ne change po grd chose

Magic Nono: l'informagicien!
mardi 17 août 2004 à 16:39:29 | Re : namespace

djl

c'est toi qui vois

faut pas voir un namespace comme une classe statique, c'est juste un espace protegeant les noms qui s'y trouvent, pour eviter les collisions...

pour moi les namespaces sont tres pratiques pour les gros projets
mardi 17 août 2004 à 16:48:58 | Re : namespace

magic_Nono

Membre Club
ui,

d'ou l'utilité de bien choisir ses noms & la présence du franglais qui t'a surpris ds mes srces...

++
Magic Nono: l'informagicien!
mardi 17 août 2004 à 18:04:57 | Re : namespace

magic_Nono

Membre Club
arg, il me tue ce Visual !!!!

certes, C ptet po simple, mé vu que G pu acces aux info depuis le classView, je veux y aller par le clic droit - recherche de l'emplacement ou C définit (le header, en tte logique)

namespace BIBLI_BC
{
namespace BVisuel
{
...
};
};

et il ose me dire que BVisuel est inconu !
je crois que pour ce cas, G po compris les namespace....

je laisse le BIBLI_BC
mé BVisuel va se retransformer en classe n'ayant que des méthodes statiques, ça va arréter de me gonfler !!!

++
Nono.

PS qqn pe me dire si ce pb(?) a été résolu sous VC7 ?

1 2

Cette discussion est classée dans : const, void, unsigned, namespace, afficheerreurwinexec


Répondre à ce message

Sujets en rapport avec ce message

Fch. Header :: CONIO.H [ par TontOnDuWeb ] Pour ce que ca interesse (avec vc++ les fonctions suivantes e sont pas incluse (du moins je crois...))>>#if !defined(__CONIO_H)#define __CONIO_H#if !d Pb CreateThreadddd !!!!!!!!!!! [ par neub ] Salut à tous, j'ecris un module de visionnement d'image etje souhaiterai pouvoir stopper ma fonction OnPlay au moment voulu mais j'ai un pb a la creat ecrire dans un fichier [ par bellionl ] salut,voila depuis une semaine je tente de conprendre le c++ avec borland c++ builderle problème est quand je veut écrire dans un fichier.création du DLL sous C++ builder 6 [ par ivdz ] Bonjour,Voici une partie du .h de mon exécutable que je dois transformer en DLL (sous C++ builder 6) :#ifndef MODBUSTCPIP_H#define MODBUSTCPIP_Hclass RegOpenKeyEx [ par guitoulefoux ] Bonjour,Pourriez vous m'aider a corriger mon erreur.Voici mon bout de code :TCHAR MenDema[1024];[...]HKEY hKey;RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWA Objet Point et Triangle pb a la compilation [ par fatcat ] Salut a tousVoila mon petit pbJe dois créer un programme qui effectue une triangulation de delauanay a partir d un fichier de Point avec 2 "double" co class matrice [ par flaky ] Slt à tousJ'utilise une classe "matrice" (celle de nicolas aunai, téléchargée sur le site) qui fonctionne très bien. Mais j'ai du mal à manipuler l'ob thread et activeX avec MFC [ par lamalice83 ] bonjour,j'essaye de créer un thread à l'intérieur d'une classe, mais je n'arrive pas à l'associer avec sa fonction de routine:Dans le CLASSCtl.h :afx_ Pb affichage bmp envga c/asm [ par 030417 ] Bonjour à tous,Je suis en train d'essayer d'afficher un bmp en c avec asm sous dos en vga (13h) . j'utilise comme compilateur borland c++ 3.0, mais je Probleme avec une liaison serie [ par xtrememan ] Voila je dois effectuer une reception de trame avec une liaison serie par le biais d'un programme en C. J'ai reussis l'emission,mais je reste bloquer


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales