Ich habe ein Programm, das den Compiler einer bestimmten Sprache stimulieren soll, mit Strukturen, die ich gemacht habe jedes "Wort" des Speichers haben eine 15 int Array von "Bits “das Problem ist, dass jedes Mal, wenn ich versuchen, diesen Test i 2 Fehler zu kompilieren:Ausdruck muss ein modifizierbarer Lvalue auf einem Struktur-Array sein, das änderbar ist
Ausdruck eine modifizierbare lvalue
und einen folgenden Ausdruck
erwartet sein muss, ich habe keine Ahnung, warum die zweite erscheint, und als ich den ersten Fehler suchte, fand ich, dass der linke Wert sein sollte Ich kann nicht ändern, obwohl ich nicht verstehe warum.
Anmerkung: Ich habe versucht, einen Zeiger anstelle eines Arrays zu verwenden, und es hat nichts ändern
Code:
word memory[1000];
struct bit {
unsigned int bt : 1;
}typedef bit;
struct word {
bit mem[15];
}typedef word;
memory[0].mem = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
bearbeiten: Sie schlagen nicht vor Änderungen an den Strukturen, weil sie Teil eines großen Programms, und es wird zu viel Arbeit zu nehmen, sie zu ändern
[Demo] (https://ideone.com/ Ea0RQi) –
danke! das hat funktioniert. auch tut mir leid für so eine blöde frage ich bin ziemlich neu zu c –