Bonjour à tous,
J'aimerai pouvoir disposer d'un attribut (protected) _nomClasse qui contiendrait le nom de la classe. Ce nom doit être le même pour toutes les instances de la classe et ne doit pas pouvoir être modifié par ces instances. Pour info, j'utilise la librairie ACE, je code en C++ sous visual studio 2008.
Pour cela, dans MaClasse.h, à l'intérieur de la section "protected":
Code C/C++ :
static const ace_tstring _nomclasse;
Puis je l'initialise dans MaClasse.cpp à l'extérieur de tout bloc de code:
Code C/C++ :
ace_tstring maclasse::_nomclasse = ace_tstring("maclasse");
Malheureusement, à la compilation, j'ai l'erreur suivante:
error C2373: '_nomClasse' : redéfinition ; modificateurs de type différents
Auriez-vous des informations, des pistes pour m'aider à initialiser correctement mon attribut ? Je précise que j'ai essayé de l'initialiser en même temps que ça déclaration dans le .h:
Code C/C++ :
static const ace_tstring _snomclasse = ace_tstring("maclasse");
mais que j'ai obtenu l'erreur:
error C2864: 'MaClasse::_nomClasse' : seules les données membres static const intégrales peuvent être initialisées dans une classe
Merci d'avance pour votre aide !