【发布时间】:2017-03-11 18:18:25
【问题描述】:
我有一个程序应该刺激某种语言的编译器,使用结构我使内存的每个“单词”都有一个 15 int 数组的“位”,问题是每次我尝试编译这个测试我得到 2 个错误:
表达式必须是可修改的左值
和 期待一个表达式
我不知道为什么会出现第二个, 当我搜索第一个错误时,我发现左边的值是不可修改的,即使我不明白为什么。
注意:我尝试使用指针而不是数组,但它并没有改变任何东西
代码:
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 };
编辑:请不要建议对结构进行更改,因为它们是大型程序的一部分,更改它们需要太多工作
【问题讨论】: