2010-11-19 14 views
13

Ho problemi con le dichiarazioni vettoriali nel file di intestazione di una classe C++ che sto creando. Tutto il mio file di intestazione si presenta così:Dichiarazione di vettori in un file di intestazione C++

#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 

mio errore si verifica sulle linee a seguito della dichiarazione "privato" (dove dichiaro la mia vettori). L'errore che sto ottenendo è C4430 - identificatore di tipo mancante e C2238 - token imprevisti che precedono ';'

Grazie per qualsiasi aiuto.

+1

La risposta è già stato trovato e il problema era dovuto alla negligenza del programmatore. Grazie per il feedback e mi spiace di pubblicare una domanda così stupida su questo sito. –

+0

Non ti piace quanto sia inutile l'errore del compilatore, dopo 5 anni di C/C++ è diventato quasi una seconda natura, ma dopo un po 'di tempo con java si scopre che il compilatore è inutile. – hhafez

+0

Non penso sia stato sciocco. Sono abbastanza nuovo di C++ e stavo facendo lo stesso errore, quindi questo era proprio quello di cui avevo bisogno! – jamesc1101

risposta

16

ti manca lo spazio dei nomi:

std::vector 
+0

Arg, mi sento come un idiota. Grazie per avermelo fatto notare e mi dispiace per tutti per aver intasato il sito con una domanda così sciocca. –

+4

Rispetto a molte domande qui, non era * che * sciocco :) Ottieni punti extra per non mettere 'usando lo spazio dei nomi std;' :) –

+0

Hah, prenderò quello. : P Ti darò il controllo verde da quando hai risposto per primo. –

9

Devi mettere 'std ::' prima di 'vector' proprio come hai fatto con la stringa.

+0

Ah, certo. Gah, ora mi sento così sciocco. Grazie per l'aiuto! –

0

Nel mio caso, aggiungendo lo spazio dei nomi non ha funzionato, però, mi mancava il

#include <vector>; 
+3

Dovrebbe essere '#include ' (senza punto e virgola) – William

Problemi correlati