Array konstant machen
-
Wie kann ich ein 2-dim. double Array konstant machen?
const double Winkel[8][5] = { {-18.750000, -13.416484, -1.075300, -0.953200, -18.041096}, {-18.750000, -13.416484, -1.075300, -0.953200, -18.041096}, {-16.238736, -13.416484, -1.075300, -0.953200, -18.041096}, {-18.238736, -17.916484, -1.075300, -0.953200, -18.041096}, {-18.238736, -15.916484, -1.075300, -0.953200, -15.041096}, {-18.238736, -17.916484, -1.075300, -0.953200, -17.041096}, {-19.238736, -18.916484, -1.075300, -0.953200, -18.041096}, {-20.238736, -19.416484, -1.075300, -0.953200, -17.541096} };
gibt mir die Fehlermeldung:
"assignment discards qualifiers from pointer target type"Hintergrund: Ich habe nur einen RAM von 2 KB zur Verfügung
und muß die Konstanten daher im Programmcode halten.
-
wo tritt der fehler auf?
-
Beim Kompilieren.
-
*rofl*
-
Bei so wenig Speicherplatz sollte man vielleicht Assembler vorziehen.
-
Das geht leider nicht, da intensiv von trigonometrischen
Routinen Gebrauch gemacht wird.
-
Auch dafür gibt es Assembler-Routinene (oder was, glaubst Du, ist ein sin(x) in C nach dem Compilieren).
-
Aber es gibt nicht für jeden Microprozessor
trigonometrische Libraries, und in Assembler
kenne ich mich nun gar nicht aus.Meine Frage ist doch einfach nur, wie ich
ein konstantes 2-dim Array deklarieren muß,
damit es nicht den RAM belegt sondern mit im
Programmcode verankert wird
-
poste den code.
wenn ich frage, wo der fehler auftritt, dann sagst du mir die zeilennummer und gibst den umgebenden code dazu an.
-
Ok! Moment...
-
Hab' den Code soweit wie möglich gekürzt:
double *winkel; int lawI = 5; /* static final Calendar ERA = new GregorianCalendar(2000, 0, 0); */ const double Winkel[8][5] = { {-18.750000, -13.416484, -1.075300, -0.953200, -18.041096}, {-18.750000, -13.416484, -1.075300, -0.953200, -18.041096}, {-16.238736, -13.416484, -1.075300, -0.953200, -18.041096}, {-18.238736, -17.916484, -1.075300, -0.953200, -18.041096}, {-18.238736, -15.916484, -1.075300, -0.953200, -15.041096}, {-18.238736, -17.916484, -1.075300, -0.953200, -17.041096}, {-19.238736, -18.916484, -1.075300, -0.953200, -18.041096}, {-20.238736, -19.416484, -1.075300, -0.953200, -17.541096} }; int main() { winkel = Winkel[(lawI-1) / 2]; }
Fehler in Zeile 17: assignment discards qualifiers from pointer target type
-
Deine Zuweisung verwirft den Qualifier 'const'
-
Mann bin ich blöd!
Danke!
Edit: Kann ich den Thread hier irgendwo abhaken?
-
Du bist nicht blöd, du kannst nur kein Englisch :p
Bye