Bonsoir à tous
tout est dans le titre je pense
j'ai un souci avec un namespace qui dans l'une des fonctions modifie une des variables.
Secret (cliquez pour afficher)

Code truc.hpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
// ... avant le nspace
 
namespace untruc {
  void modifvar () ;
 
  // ... du code ...
 
  int variable ;
}
 
// ... après le namespace ...

Code truc.cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 
// toujours autant de code ...
 
namespace untruc {
  void modifvar () {
    untruc::variable = 4444 ; //ou une valeur x
  }
}
 
// ... la suite


Code main.cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
#include "untruc.hpp"
#include <iostream>
 
int main (void) {
  untruc::modifvar () ;
  std::cout << untruc::variable << std::endl ;
  return EXIT_SUCCESS ;
}

ça me créé bel et bien les fichiers (*.o) mais lors de l'édition des liens gcc me sort (je suis sous linux) :

Code console : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
untruc.o:(.bss+0x0): multiple definition of `untruc::variable'
main.o:(.bss+0x0): first defined here

merci d'avance pour vos réponses