Frage: Übergabe einer map?

LadyMarion

Mitglied
Hallo,

ich habe eine Klasse test.

In der Datei test.h steht u.a.:
Code:
template<class T>
bool leseFkt(map<string, T> &daten);

In der Datei test.cpp steht dann:
Code:
template<class T>
bool test::leseFkt(map<string, T> &daten)
{

// hier macht die Funktion was...

}

Aber wie rufe ich die Funktion jetzt in der main-Funktion auf, d.h. wie muss ich diese map übergeben?
Code:
int main() {
    test Test;

    Test.leseFkt( ? );

    return 0;
}

Egal wie ich es probiere, ich bekomme ständig nur Fehlermeldungen. Könnt Ihr mir da vielleicht weiterhelfen?
Danke!
 
Hallo, solche Methoden (mit "template<class T>") müssen innerhalb der Klassendeklaration implementiert werden:
C++:
class CTest
{
    public:
        template<class T>
        bool leseFkt(map<string, T> &daten)
        {
            cout << daten["xy"] << endl;
            return true;
        }
};

int main(int argc, _TCHAR* argv[])
{
    map<string, int> data;
    data["xy"] = 10;
    
    CTest oTest;
    oTest.leseFkt(data);

    return 0;
}
Gruß
MCoder
 
Zurück