我正在尝试从键盘的快捷方式修改一些变量[不需要来自同一个类/结构],如下所示: 包含变量的 foo 结构:
struct Foo {
int a;
float b;
};
struct Foo2 {
int c;
};
还有一个主要的:
int main() {
Foo f;
Foo2 f2
void* p = &(f.a); //it could be &(f2.c)
if ('A' key activated) {
*p += 1;
}
}
目前,我被困在这一点上:
error: invalid operands to binary expression ('void' and 'int')
让它发挥作用的唯一方法是改变:
*p += 1;
经过:
*(int*)p += 1;
这不是一个好的解决方案,因为我不应该知道 p 指向的类型。有没有办法做到这一点?