avr-gcc const struct initialisieren mit const array

Gast #3902996
Lesenswert?
• ▲
▼
Hallo,
exemplarisch möchte ein struct:

-graphic.h-
1
typedef const struct{
2
uint8_t width;
3
uint8_t height;
4
uint8_t rowPixel[];
5
}graphic;
-logo.c-
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
#include <stdlib.h>
4
#include <stdint.h>
5

6
#include "graphic.h"
7

8
const uint8_t Bild[4*2] = {255,0,255,0,255,0,255,0}
9

10
graphic xyz = [4, 2, Bild];
1
Error  5  initializer element is not computable at load time
Funktioniert dies nur mit
Gast #3903073
Lesenswert?
• ▲
▼
Danke, aber hatte ich auch schon probiert.

Das hat mich auf die Idee gebracht, dass der Fehler evtl. nicht an 
meinem Code liegt.
Also wieder auf Ursprung zurück und in den header der in der main 
routine vorher aufgerufen wird reingeschaut.
Der Kollege hatte dort beim letzten Funktions Prototypen das ";" 
vergessen :(

-> das nächste mal erste Fehlermeldung ordentlich lesen/verstehen

graphic xyz = [4, 2, Bild];
war natürlich auch: graphic xyz = {4, 2, Bild[]};

Aber korrekt wäre es dann ja auch immer noch nicht gewesen ...
Heute nicht mein Tag.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.