1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • 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
  • Leocor
    4
    Leocor
    Mitglied
    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 :grinning_squinting_face:
    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)

    http://de.youtube.com/watch?v=H9B4a2KEoGY&feature=related
    http://de.youtube.com/watch?v=HhHsXAVHyaA&feature=related

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    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
    4
    Leocor
    Mitglied
    Punkte
    165
    Beiträge
    23
    • 6. Mai 2007 um 18:21
    • #3

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

    http://de.youtube.com/watch?v=H9B4a2KEoGY&feature=related
    http://de.youtube.com/watch?v=HhHsXAVHyaA&feature=related

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung