Warum wird mir dieser Fehler angezeigt?



  • Hallo

    Nur eine kleine Frage:

    Warum meldet der Compiler, dass er hiermit Probleme hat, Void* ind Char* zu konvertieren?

    char * str_full = malloc(100 * sizeof(char));

    Ich habe doch mit 100 * sizeof(char) gesagt, dass es sich um die Größe von Chars handelt? Das verstehe ich wieder nicht, unter GCC ist das hier kein Problem...
    Da ich im Moment aber unter BCB programmiere, wäre ich für jede Hife dankbar.

    Gruß, Balou



  • [cpp]
    // probiers mal mit nem typ-cast
    char str_full = (char) malloc(100 * sizeof(char));[/cpp]

    die typkontroll ist hier strenger.

    siehe auch das hilfe-beispiel zu malloc 😉

    char *str;
    
    /* Speicherplatz für einen String reservieren */
    if ((str = (char *) malloc(10)) == NULL)
    {
      printf("Not enough memory to allocate buffer\n");
      exit(1);   /* Beendet das Programm, wenn kein Speicher mehr vorhanden ist */
    }
    


  • Ja, danke. Da hätte ich selbst drauf kommen müssen - naja, meine (Programmier-)Pause war zu lang...

    Danke dir!!

    Gruß, Balou


Anmelden zum Antworten