Problème lors de la compilation
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é :
Code:
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){
[...]
} |
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.
J'ai ajouté la ligne suivante pour tenter de voir l'origine du problème :
Code:
1 2
|
std::cout<<"entered in namespace"<<std::endl; |
Et là l'erreur suivante apparaît : "no type named 'cout' in namespace 'std' "
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 :)