Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Namespaces

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.02.2007, 11:00 Uhr
~shed
Gast


Hallo!

Ich habe ein Problem mit meinem Namespace den ich erstellt habe. Dieser sieht wie folgt aus:

C++:
namespace defs
{
    // element name definitions
    const char TAG_PARAMETER[]        = "Parameter";
    const char TAG_VALUE[]             = "Value";
...
}



Dieser namespace steht in der Header-Datei defs.h
Ich binde diesen namespace mit #include "defs.h" in verschiedene andere hedaer files ein.
in den Header files verwende ich auch Includeguards also zB


C++:
#ifndef __X_H
#define __X_H

#include "defs.h"

//code

#endif




Ich kann dann auch im dazugehörigen cpp-File mit zb defs::TAG_VALUE darauf zugreifen.
Aber beim Ausführen meines Programms bekomme ich folgenden Fehler:

'defs::TAG_VALUE': Neudefinition; unterschiedliche Speicherklassen.


Kann mir jemand sagen was ich falsch mache?

Danke!
mfg,
shed
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.02.2007, 11:09 Uhr
stephanw
localhorst


Wenn Du in defs.h den Namespace deklarierst, sollte in def.h auch ein include-guard sein.

C++:
#ifndef _defs_h_
#define _defs_h_
namespace defs
{
  extern const char* TAG_PARAMETER;
  extern const char* TAG_VALUE;
}
#endif


// oder

C++:
#ifndef _defs_h_
#define _defs_h_
struct defs
{
  static const char* TAG_PARAMETER;
  static const char* TAG_VALUE;
};
#endif



Zudem darfst Du dort nur die Deklarationen vornehmen. Die Definition der Werte dann in defs.cpp.


C++:
#include "defs.h"

const char* defs::TAG_PARAMETER = "Parameter";
const char* defs::TAG_VALUE = "Value";


--
Reden ist Schweigen und Silber ist Gold.

Dieser Post wurde am 22.02.2007 um 11:09 Uhr von stephanw editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: