キーボードのショートカットからいくつかの変数[同じクラス/構造体からは必要ありません]を変更しようとしています。次のようなものです。変数を含む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が指すタイプを知らないはずなので、これは良い解決策ではありません。それを行う方法はありますか?