struktur initialisieren



  • hallo

    ich bekomme bei folgendem code immer einen laufzeitfehler.

    LPMAPINAMEID nameID;
    nameID->Kind.lpwstrName = (LPWSTR)_T("Einträge"); //<--laufzeitfehler
    

    bekomme vorher auch ein warning welches mir sagt, dass nameID uninitialisiert genutzt wird. wie kann ich diese struktur initialisieren?

    LPMAPINAMEID hat folgende struktur (msdn entnommen)

    typedef struct _MAPINAMEID
    {
         LPGUID lpguid;
         ULONG  ulKind;
         union
         {
              LONG    lID;
              LPWSTR  lpwstrName;
         } Kind;
    } MAPINAMEID, FAR *LPMAPINAMEID;
    


  • javax schrieb:

    hallo

    ich bekomme bei folgendem code immer einen laufzeitfehler.

    LPMAPINAMEID nameID;
    nameID->Kind.lpwstrName = (LPWSTR)_T("Einträge"); //<--laufzeitfehler
    

    nameID ist ein uninitialisierter Zeiger auf eine MAPINAMEID Struktur -> Boom!

    javax schrieb:

    bekomme vorher auch ein warning welches mir sagt, dass nameID uninitialisiert genutzt wird. wie kann ich diese struktur initialisieren?

    In dem du eine Struktur (nicht einen Zeiger darauf, s.o.) anlegst:

    MAPINAMEID nameID;
    nameID.Kind...... = .....
    

    Mache dich mit dem Unterschied zwischen Objekten und Zeigenr auf solche vertraut!



  • bladerunner10 schrieb:

    javax schrieb:

    hallo

    ich bekomme bei folgendem code immer einen laufzeitfehler.

    LPMAPINAMEID nameID;
    nameID->Kind.lpwstrName = (LPWSTR)_T("Einträge"); //<--laufzeitfehler
    

    nameID ist ein uninitialisierter Zeiger auf eine MAPINAMEID Struktur -> Boom!

    Zudem dürfte ein weiteres Problem sein, dass er einen Zeiger auf ein Stringliteral speichern will.


Anmelden zum Antworten