[Erledigt] Template Klasse-Problem mit Iteratoren



  • Hi Leute!
    Ich habe folgenden Code (aus einem Header):

    //Ist jetztg nicht mehr so wichtig
    

    Lasst euch von den kommentierten privates und publics nicht irritieren, bin noch im Debug.

    So nun zum eigentlichen Problem:
    Den Code kann ich mit dem BCC55 problemlos kompilieren.
    Aber für mein größeres Projekt benutz ich VC++, aber der nimmt das nicht an.
    Hier das ErrorLog:

    1>------ Erstellen gestartet: Projekt: GTMath, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>GTMathDll.cpp
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(70) : warning C4346: 'std::list<GT::Math::InterpolatorLinear<T>::KeyFrame>::iterator': Abhängiger Name ist kein Typ
    1>        Präfix mit 'typename' zum Angeben eines Typs
    1>        d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(76): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "GT::Math::InterpolatorLinear<T>".
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(70) : error C2061: Syntaxfehler: Bezeichner 'iterator'
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(71) : warning C4346: 'std::list<GT::Math::InterpolatorLinear<T>::KeyFrame>::iterator': Abhängiger Name ist kein Typ
    1>        Präfix mit 'typename' zum Angeben eines Typs
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(71) : error C2061: Syntaxfehler: Bezeichner 'iterator'
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(107) : warning C4346: 'std::list<GT::Math::InterpolatorLinear<T>::KeyFrame>::iterator': Abhängiger Name ist kein Typ
    1>        Präfix mit 'typename' zum Angeben eines Typs
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(107) : error C2061: Syntaxfehler: Bezeichner 'iterator'
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(122) : warning C4346: 'std::list<GT::Math::InterpolatorLinear<T>::KeyFrame>::iterator': Abhängiger Name ist kein Typ
    1>        Präfix mit 'typename' zum Angeben eines Typs
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(122) : error C2061: Syntaxfehler: Bezeichner 'iterator'
    1>GTMatrix.cpp
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(70) : warning C4346: 'std::list<GT::Math::InterpolatorLinear<T>::KeyFrame>::iterator': Abhängiger Name ist kein Typ
    1>        Präfix mit 'typename' zum Angeben eines Typs
    1>        d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(76): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "GT::Math::InterpolatorLinear<T>".
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(70) : error C2061: Syntaxfehler: Bezeichner 'iterator'
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(71) : warning C4346: 'std::list<GT::Math::InterpolatorLinear<T>::KeyFrame>::iterator': Abhängiger Name ist kein Typ
    1>        Präfix mit 'typename' zum Angeben eines Typs
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(71) : error C2061: Syntaxfehler: Bezeichner 'iterator'
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(107) : warning C4346: 'std::list<GT::Math::InterpolatorLinear<T>::KeyFrame>::iterator': Abhängiger Name ist kein Typ
    1>        Präfix mit 'typename' zum Angeben eines Typs
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(107) : error C2061: Syntaxfehler: Bezeichner 'iterator'
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(122) : warning C4346: 'std::list<GT::Math::InterpolatorLinear<T>::KeyFrame>::iterator': Abhängiger Name ist kein Typ
    1>        Präfix mit 'typename' zum Angeben eines Typs
    1>d:\glowingthunder-engine\visualc++ project\glowingthunder-engine\inc\math\gtinterpolation.h(122) : error C2061: Syntaxfehler: Bezeichner 'iterator'
    1>Code wird generiert...
    1>Das Buildprotokoll wurde unter "file://d:\GlowingThunder-Engine\VisualC++ Project\GlowingThunder-Engine\GTMath\Debug\BuildLog.htm" gespeichert.
    1>GTMath - 8 Fehler, 8 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 1 aktuell, 0 übersprungen ==========
    

    Ich verstehe den Fehler nicht.
    Ich bin am Verzweifeln!



  • Habs gelöst!
    Hab typename vergessen, als ich einen Iterator zurückgeben musste.


Log in to reply