reinterpret_cast转储限定符 [英] reinterpret_cast casts away qualifiers

查看:1508
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆