web-dev-qa-db-fra.com

Déclaration de vecteurs dans un fichier d'en-tête C++

J'ai des problèmes avec les déclarations de vecteurs dans le fichier d'en-tête d'une classe C++ que je crée. L'ensemble de mon fichier d'en-tête ressemble à ceci:

#ifndef PERSON_H
#define PERSON_H

#include "Message.h"
#include <string>
#include <vector>


class Person {

public:

 Person() {};
 Person(std::string emailAddress);

private:

 vector<Message> inbox;
 vector<std::string> contacts;
 std::string emailAddress;

};

#endif PERSON_H

Mon erreur se produit sur les lignes suivant la déclaration "privée" (où je déclare mes vecteurs). L'erreur que je reçois est C4430 - spécificateur de type manquant et C2238 - jetons inattendus précédant ';'

Merci pour toute aide.

14
James W.

Vous manquez l'espace de noms:

std::vector
19
Moo-Juice

Vous devez mettre 'std ::' avant 'vector' comme vous le faisiez avec string.

9
Crazy Eddie

Dans mon cas, l’ajout de l’espace de noms ne fonctionnait pas. Cependant, il me manquait la

#include <vector>;
0
drinu276