2009-11-02 4 views
2

Je reçois une erreur msgnon déclaré dans ce champ

DataReader.h:13: error: 'String' was not declared in this scope 
DataReader.cpp:5: error: redefinition of 'std::vector<Data*, std::allocator<Data*> > DataReader' 
DataReader.h:13: error: 'std::vector<Data*, std::allocator<Data*> > DataReader' previously declared here 
DataReader.cpp:5: error: 'String' was not declared in this scope 

ceci est mon fichier cpp

#include "DataReader.h" 

using namespace std; 

vector<Data*> DataReader(String textFile) //line 5 that's giving error 
{........} 

et que mon fichier d'en-tête

#include <fstream> 
#include <iostream> 
#include <vector> 
#include <string> 

#ifndef DATA_H 
#define DATA_H 
#include "Data.h" 
#endif 

std::vector<Data*> DataReader(String something); 

ils fonctionnent bien quand je sors le paramètre de chaîne et le code dur le nom de la chaîne. mais j'ai besoin d'utiliser cette fonction plusieurs fois et j'aimerais pouvoir passer une chaîne en paramètre. la chaîne que je passe est le nom d'un fichier texte. est-ce que je me trompe quelque part? Je ne peux pas sembler le comprendre .. je veux dire qu'est-ce que cela signifie 'String' n'a pas été déclaré dans cette portée ?? Je le passe et j'ai inclus. Quelque chose ne va pas avec mon paramètre ?? si vous pouvez faire la lumière sur cette question, il serait grandement apprécié ..

Dean

Répondre

14
chaîne

devrait être minuscules ou std :: string

4

changement String-string.

Questions connexes