Bonjour,
J'ai quelques problèmes avec l'application C++ que je développe. Je dois intégrer à mon application déjà existante un package appelé "nauty". Le problème est ici que ce package défini un type "set". Il vient alors un conflit entre ce type et le type "set" défini par la stl. Cela ne poserait aucun problème normalement, puisque le type set de la stl est déclaré dans le namespace std, il suffirait donc d'éviter de mettre "using namespace std;" pour éviter les conflits. Le problème ici, c'est que les fonctions du namespace std ont l'air d'être automatiquement déclarées dans le namespace global (c'est à dire que je peux utiliser les fonctions cin out cout par exemple, sans passer par std::cin ou std::cout, et le tout sans faire de "using namespace std;"). Avez-vous une idée d'où le problème peut venir. Est-ce que dans la dernière version du compilateur g++ le namespace std est dans le namespace global. Si oui, comment puis-je régler ces problèmes de conflit ? Pour info, je poste les différents include que j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 #include <arpack++/arlssym.h> #include "CImg.h" #include <nauty.h> #include <cstdlib> #include <iostream> #include <vector> #include <set> #include <stack> #include <queue> #include <map> #include <cmath> #include <fstream> #include <ctime> #include <algorithm> #include <armadillo> #include <string> #include <sstream> using namespace cimg_library; using namespace arma;
Partager