PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "initializer element is not constant"



Mauro
21.05.2010, 10:21
Hallo zusammen!

Bei der Zeile der Differenzbildung aus zwei int32_t Werten:
int32_t deltaGPS0=GPSziel0-GPSplattform0;
Bekomme ich folgende Fehlermeldung:
../MG_Utilities.c:309: error: initializer element is not constant
Kann man da was machen herr Doktor?

Grüße,
emm

markusj
21.05.2010, 11:45
Den ganzen Code zeigen? Meine Glaskugel ist momentan kaputt und ohne den Scope der Variable zu kennen kann ich dir nur empfehlen, die Fehlermeldung mal durchzulesen und zu verstehen ...

mfG
Markus

askazo
21.05.2010, 12:38
Da braucht man nicht mal den ganzen Code für.
Du versuchst bei der Initialisierung der Variablen deltaGPS0 dieser direkt einen Wert zuzuweisen, der aus der Differenz zweier Variablen besteht. Für den Compiler ist dieser Wert nicht konstant, selbst wenn Du den beiden Variablen vorher einen festen Wert zugewiesen hast. Eine Variable kann aber nur mit einem konstanten Wert initialisiert werden.

Lösung: die Variable zunächst ohne Wert initialisieren und dann die Wertzuweisung im Programm vornehmen.

Gruß,
askazo

Mauro
21.05.2010, 17:15
Danke!
Und wieder kann ich mit einer Erfahrung mehr einschlafen :-)

markusj
21.05.2010, 20:11
Da braucht man nicht mal den ganzen Code für.
Doch - Innerhalb einer Funktion können solche Initialisierungen nämlich durchaus zulässig sein - daher hängt es durchaus vom Scope der Variable ab.

mfG
Markus