Datentyp



  • wie kann ich bei einen rückgabe bzw bei einer übergabe von einer funktion "unbestimmt" lassen und das der dann sich "an den datentyp des übergebenen" anpasst

    tEinStruct *pPointer = new tEinStruct;
    tEinStruct *pPointer2 = functionFuerPointer(pPointer);

    da ein struct ja immer anders heisen kann, weis ich ja in der funktion nie wie der übergabe/rückgabe datentyp is

    wie mach ich das?

    MFG
    Schinken



  • Schinken schrieb:

    wie kann ich bei einen rückgabe bzw bei einer übergabe von einer funktion "unbestimmt" lassen und das der dann sich "an den datentyp des übergebenen" anpasst

    tEinStruct *pPointer = new tEinStruct;
    tEinStruct *pPointer2 = functionFuerPointer(pPointer);

    da ein struct ja immer anders heisen kann, weis ich ja in der funktion nie wie der übergabe/rückgabe datentyp is

    wie mach ich das?

    MFG
    Schinken

    Was willst du genau? 😕
    Die Struktur hat in deinem Beispiel doch immer dein gleichen Datentyp.
    Oder meinst du etwas in Richtung Vererbung/Polymorphie?

    Caipi



  • Ich verstehe jetzt zwar nicht genau was du meinst, aber man kann void-Pointer übergeben. Die muss man dann aber zuerst casten bevor man die wieder verwenden kann.

    template <class T>
    void* allocate()
    {
        return new T;
    }
    
    int main()
    {
        int* p = static_cast<int*>(allocate<int>());
    
        delete p;
    }
    


  • hab was anderes gefunden!

    template <class myStruct>

    myStruct MeineFunktion(myStruct *pStruct);

    z.b. 🙂


Anmelden zum Antworten