reinterpret_cast转储限定符 [英] reinterpret_cast casts away qualifiers
本文介绍了reinterpret_cast转储限定符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在重新解释变量时添加一个问题,我不知道为什么。
I add an issue on reinterpreting a variable and I don't know why..
int ProgressBar(const uint64_t data_sent, const uint64_t data_total, void const * const data) {
Dialog *dialog = reinterpret_cast<Dialog *>(data);
dialog->setValue((data_sent * 100) / data_total);
}
reinterpret_cast
不允许,并说
reinterpret_cast from'const void *)to Dialog * casts away qualifiers
reinterpret_cast from 'const void *) to Dialog * casts away qualifiers
任何想法
推荐答案
正如Nick Strupat在评论中所说,
As Nick Strupat stated in comment,
reinterpret_cast无法转储cv-qualifiers
reinterpret_cast can't cast away cv-qualifiers
因此,您可以一起使用 reinterpret_cast
和 const_cast
。
So you can use reinterpret_cast
and const_cast
together.
Dialog *dialog = const_cast<Dialog*>(reinterpret_cast<const Dialog *>(data));
这篇关于reinterpret_cast转储限定符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文