calloc



  • Hallo Leute,

    was stimmt hier nicht?

    ...
    
    struct client *client;
    
    ...
    
    client = calloc ( 1, sizeof ( *client ) );
    

    ich bekomme hier immer diesen Fehler:
    error: invalid conversion from 'void*' to 'client*'

    und wenn ich nun, es ist übrigens ein samplecode wo ich dachte der läuft von sich aus, ein (client*) vor calloc gebe, dann gibt es diesen Fehler

    error: expected primary-expression before ')' token
    error: expected `;' before 'calloc'

    für jede Hilfe wäre ich dankbar ... ist wahrscheinlich eh nur ein sehr dummer denkfehler von mir, aber ich hab gerade keine zeit dafür.

    grüße
    noq



  • struct client *c;
    
    ...
    
    c = calloc ( 1, sizeof ( client ) );
    

    Ev. brauchts noch einen cast nach client*.

    Simon



  • Du würdest ja auch nie auf die Idee kommen, sowas hier zu schreiben, oder?

    char char=0;
    

    😉



  • nein, es ist irgendwie immer noch das selbe :-\

    aber danke



  • noq(off) schrieb:

    nein, es ist irgendwie immer noch das selbe :-\

    aber danke

    Kann nicht sein! Nimm das Beispiel von theta (also "struct client *c", nicht "struct client *client"!), caste die Rückgabe von calloc noch (da C++), und dann sollten deine beiden Fehlermeldungen verschwunden sein.



  • _matze schrieb:

    Du würdest ja auch nie auf die Idee kommen, sowas hier zu schreiben, oder?

    char char=0;
    

    😉

    ups, ja ... danke



  • Falls du C++ programmieren solltest, würde ich eher zu new bzw. new[] als den C-Speicherverwaltungsfunktionen raten. Besonders, wenn du nicht nur mit PODs arbeitest, kannst du schnell Probleme kriegen.


Anmelden zum Antworten