構造体への void* に問題があります。私のC++コードは次のとおりです。
struct BUFF_TYPE {
int a;
int b;
};
typedef struct BUFF_TYPE BUFF_TYPE;
struct REG_TYPE {
int c;
void *buff;
};
typedef struct REG_TYPE REG_TYPE;
REG_TYPE regs[20];
const BUFF_TYPE b_A = {3,5};
void func_x() {
int x,y;
regs[4].buff = (BUFF_TYPE*)&b_A;
x = regs[4].buff->a;
y = regs[4].buff->b;
}
それは私に与えます:
error: ‘void*’ is not a pointer-to-object type
x と y の割り当てで、これらの a と b の値にアクセスする方法を教えてください。
ところで、他の種類のバッファを指す必要がある場合があるため、void* が必要です。