関数
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))) ;
これを機能させるには。それは正しい方法ですか?または、何か不足していますか?これがどのように機能するのかよくわかりません。