我认为这是很清楚的解释。我需要能够将const Uint8 *转换为Uint8 *。我只是简单地尝试将一个const Uint8 *放到const Uint8 *中并使用static_cast。然而,每次它给了我这个错误:
error:
assigning to 'Uint8 *' (aka 'unsigned char *') from incompatible type
'const Uint8 *' (aka 'const unsigned char *')
keyboardstate = SDL_GetKeyboardState(NULL);有人知道我怎样才能成功地转化它吗?
发布于 2020-02-29 20:09:44
您可以为此使用const_cast,例如:
Uint8* foo = const_cast<Uint8*>(bar);然而:你确定你真的在做正确的事情吗?由于这是未定义的行为,请验证在移除一致性后没有修改基础值。
注释:根据对象的类型,通过指针、lvalue或指向数据成员的指针进行的写操作可能会产生未定义的行为([dcl.type.cv])。-尾注
https://stackoverflow.com/questions/60469153
复制相似问题