Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 30.12.2004, 19:02 Titel: Template - type 'xy' unexspected |
|
|
Hi @all,
hier ist erstmal der Code
Code: | class text_reader
{
public:
text_reader(){}
text_reader(const std::string& path){
file_.open(path.c_str(), std::ios::in);
}
void open(const std::string& path){
file_.open(path.c_str(), std::ios::in);
}
void read(){
char buffer_id[256];
char buffer_data[256];
while(!file_.eof()){
file_.getline(buffer_id, 256, ':');
file_.ignore(1);
file_.getline(buffer_data, 256);
data_[buffer_id] = buffer_data;
}
}
template<typename T>
__forceinline T getData(const std::string& id){
return lexical_cast<T>(data_[id].c_str());
}
private:
std::ifstream file_;
std::map<std::string, std::string> data_;
}; |
Der lexical_cast ist nichts weiter als:
Code: | template<typename A, typename T> inline const A lexical_cast(const T& source){
std::stringstream s;
A destination;
if(!(s << source) || !(s >> destination) || !(s >> std::ws).eof())
throw "bad lexical cast";
return (destination);
} |
Diese Klasse sollte eine einfache Möglichkeit darstellen, mal eben schnell und unkompliziert ein paar Daten aus einer Textdatei laden zu können...
Mein Problem besteht nun in dem getData<>() Aufruf, egal welchen Datentyp ich angebe, der Compiler spuckt immer folgenden Fehler:
Code: | error C2062: type 'xy' unexpected |
Aus dem MSDN-Eintrag bin ich leider nicht wirklich schlau geworden... |
|
Nach oben |
|
|
xardias JLI Master
Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 31.12.2004, 09:40 Titel: |
|
|
müsstest du nicht um deine lexical_cast funktion zu verwenden beide template parameter angeben?
lexical_cast<T,char*>(data_[id].c_str());
wobei ich dann eigentlich gleich den String (oder Stringstream) direkt übergeben würde. |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 31.12.2004, 10:00 Titel: |
|
|
Nee... den Typ des übergebenen Parameters bekommt der Compiler doch afaik von selbst heraus...
Habs trotzdem nochmal fix ausprobiert, funktioniert auch nicht... =/ |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 31.12.2004, 12:06 Titel: |
|
|
In welcher Zeile genau erhältst du denn den Fehler?
Und was steht dazu in der MSDN? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 31.12.2004, 12:22 Titel: |
|
|
xardias
Nee, bei meinem Lexical_cast ist das überflüssig, genau wie bei dem aus boost.
The Lord of Programming
In der MSDN gibt es sogut wie nichts über Templates
GreveN
Ich kümmere mich morgen abend mal drum, geht grad schlecht Freundin ist da _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
xardias JLI Master
Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 31.12.2004, 12:45 Titel: |
|
|
Patrick hat Folgendes geschrieben: |
Ich kümmere mich morgen abend mal drum, geht grad schlecht Freundin ist da |
schönen gruß |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 31.12.2004, 12:48 Titel: Re: Template - type 'xy' unexspected |
|
|
Ich wollte ja auch nur wissen, was die MSDN zu diesem Fehler sagt(nicht allgemein):
GreveN hat Folgendes geschrieben: | Code: | error C2062: type 'xy' unexpected |
Aus dem MSDN-Eintrag bin ich leider nicht wirklich schlau geworden... |
_________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 31.12.2004, 13:43 Titel: |
|
|
Zitat: |
type 'type' unexpected
The compiler did not expect a type name. The following sample generates C2062:
Code: |
// C2062.cpp
class A {
public:
int i; // ok
protected:
int j; // ok
private:
int k; // ok
:
int l; // C2062
};
int main() {
} |
|
C2062 |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
|
Nach oben |
|
|
|