Bonjour à tous,
Je code en C++ depuis quelques mois. Je suis en train de coder des fichiers tests (en utilisant google test) dans le cadre d'un projet, et je rencontre un problème que je n'arrive pas à résoudre.
Voici un code ressemblant dans les grandes lignes à celui qui me pose problème, simplement pour avoir une idée de ce qui est implémenté :
Cependant, numbers n'est pas reconnu comme étant un vector, et lors de la compilation, j'ai l'erreur suivante qui apparaît : " unknown type name 'numbers' " m'indiquant la ligne de déclaration du tableau dans le namespace.
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 #include <gtest/gtest.h> #include <iostream> #include <vector> namespace n{ std::vector<double> numbers; for (size_t i(0); i<100;++i){ numbers.push_back(i); } [...] } TEST(MyClass,sum){ [...] } TEST(MyClass,average){ [...] }
J'ai ajouté la ligne suivante pour tenter de voir l'origine du problème :
Et là l'erreur suivante apparaît : "no type named 'cout' in namespace 'std' "
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2std::cout<<"entered in namespace"<<std::endl;
Pourtant, j'utilise la librairie standard dans presque tous mes autres fichiers, et ça fonctionne très bien. Mais là, si je l'utilise dans le namespace créé, ce problème apparaît. De plus, j'utilise à chaque fois les mêmes options de compilation, et ce problème n'apparaît avec aucun autre fichier.
Auriez-vous une idée du problème ?
Merci pour votre aide![]()
Partager