Lorsque je compile le code suivant (en utilisant l'indicateur de compilation -std = C++ 11), j'obtiens le message d'erreur (seulement): "'vec' est pas une classe, un espace de noms ou une énumération ".Comment initialiser correctement un vecteur à partir de std :: vector <>
#include <vector>
#include <iterator>
int main(){
std::vector<int> vec(10,1);
vec::iterator it;
return 0;
}
Comme je ne suis pas un autre message d'erreur, pour moi, cela signifie que un objet appelé « VEC » a été initialisé, mais pas comme un vecteur, mais comme quelque chose d'autre qui n'est pas une classe et pour laquelle l'opérateur de portée ne peut donc pas être utilisé.
Pour autant que je l'ai compris, j'ai utilisé le constructeur (http://en.cppreference.com/w/cpp/container/vector/vector) suivant:
vector(size_type count,
const T& value,
const Allocator& alloc = Allocator());
Où il est dit que ce constructeur « Constructs le contenant des copies de comptage d'éléments ayant une valeur de valeur », donc j'attendre avoir créé un vecteur avec 10 copies de "1", mais je dois avoir mal compris quelque chose, d'où le problème.
Où est-ce que mon raisonnement s'est mal passé et d'où vient l'erreur dans le code ci-dessus?