1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

PICReader.c:46: error: incompatible types in assignment

  • Leocor
  • 6. Mai 2007 um 17:42
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Leocor
    Punkte
    165
    Beiträge
    23
    • 6. Mai 2007 um 17:42
    • #1

    Hi!
    ich hab erst vor kurem mit dem C-Programmieren begonnen und bisher läuft alles ±gut :D
    ich schreibe grade eben an ein programm welches ein *.bmp auslesen soll! (für den anfang) ich habe ein struct definiert welches mir die Header informationen speichert. (dieser struct habe ich als neuen Typ BMH definiert

    Code
    typedef struct BMHeader{
        short bfSize;
        short bfOffBits;
        short biSize;
        short width;
        short height;
        short bitCount;
        short compression;
        short xPerMeter;
        short yPerMeter;
    } BMH;
    Alles anzeigen

    Dann habe ich noch eine frunktion gebastelt welche mir die datei ausliest (& auf die offsets zugreift und einspeichert) ...der rückgabewert ist ein BMH struct!

    Code
    BMH *readHeader(FILE *in){
    ...
    }

    nun wollte ich den struct in eine variable speicher (eigentlich in einen pointer)

    Code
    int main(int argc, char** argv) {
    ...
    BMH *pic;
    FILE *dat;
    ...
     *pic = readHeader(dat);
    ...
    }


    und beim compilieren bringt er folgenden fehler

    PICReader.c: In function ‘main’:
    PICReader.c:46: error: incompatible types in assignment
    make[1]: *** [build/Debug/GNU-Linux-x86/PICReader.o] Fehler 1
    make[1]: Leaving directory `/home/leocor/PICReader'
    make: *** [.build-impl] Fehler 2

    (46 ist genau die zeile wo ich *pic = readHeader(dat) ausführen)

  • gelbasack
    Punkte
    6.525
    Beiträge
    1.241
    • 6. Mai 2007 um 17:59
    • #2

    readHeader() hat Rückgabewert BMH*, du schreibst *pic, damit dereferenzierst du *pic und hast BMH, nicht BMH*.
    Es reicht also in Zeile 46 pic, ohne * davor.

  • Leocor
    Punkte
    165
    Beiträge
    23
    • 6. Mai 2007 um 18:21
    • #3

    10000x dank es geht gut :D ...richtig peinlich so ein fehler :D

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum