功能
int compare(const void* a, const void* b)
{
SomeDataType g1 = *(static_cast<SomeDataType*>(a));
SomeDataType g2 = *(static_cast<SomeDataType*>(b));
g1.firstelement < g2.firstelement ? 1 : -1;
}
此代码返回一个错误,提示“静态转换无法从 const void* 转换为 SomeDataType*”。我使用 const_cast 之类的
SomeDataType g1 = *(static_cast<SomeDataType*>(const_cast<void*>(a))) ;
让这个工作。这是正确的方法吗?还是我错过了什么?我不太明白这是如何工作的。