Konsolenprogramm von VC++ nach BCB5 komischer Fehler



  • Hallo,

    ich habe in VC++ früher mal eine Konsolenanwendung geschreiben und wollte diese nun mal dem BCB 5 kompilieren. Ich habe mit dem Konsolenexperte ein neues Project angelegt und habe die alten *.cpp und *.h Dateien dem Project hinzugefügt. Wenn ich das Project jedoch kompilieren will schmeißt er mir Fehlermeldungen aus oder besser gesagt immer die gleiche Fehlermeldung und zwar scheint er Problme mit einer Template Funktion zu haben.

    Hier die Fehlermeldungen:

    [C++ Warnung] IOFUNCTIONS.H(15): W8058 Präcompilierter Header: Code im Header kann nicht erzeugt werden.
    [C++ Fehler] Haupdatei.cpp(95): E2285 Keine Übereinstimmung für 'eingabeInt<T>(char *)' gefunden
    

    Hier die Zeile in die er springt in der Hauptdatei:

    string eingabe = eingabeInt<string>("Auswahl :");
    

    Und hier die Funktion die in der Header "IOFunctions.h" steht:

    template<class T>
    T eingabeInt(string str)
    {
    	T temp;
    	cout << str;
    	if(!(cin >> temp))cout << "Keine richtige Eingabe!\n";
    	else return temp;
    
            return 0;
    }
    

    Unter VC++ hat er es immer einwandfrei kompiliert.



  • Hallo

    anscheinend haben die beiden Compiler unterschiedliche Aufrufregeln für Konstruktoren bei Parametern, denn so funktionierts beim BCB :

    string eingabe = eingabeInt<string>(string("Auswahl :"));
    

    /Edit : Kann es sein, das die string-Implementation in BCB keinen Kopier-Konstruktor für char * hat?

    bis bald
    akari



  • Danke so gehts. Trotzdem finde ich das sehr komisch.


Anmelden zum Antworten