gpt4 book ai didi

c++ - 使用 Qt 枚举转换为 qint32

转载 作者:行者123 更新时间:2023-11-28 05:49:54 32 4
gpt4 key购买 nike

我不明白来自 terminal exampleupdateSettings() 函数内部的 Qt 小部件示例 (settingsdialog.cpp) 中的转换 (static_cast) :

currentSettings.baudRate = static_cast<QSerialPort::BaudRate>(
ui->baudRateBox->itemData(ui->baudRateBox->currentIndex()).toInt());

currentSettingsQSerialPort::BaudRateenumcurrentSettings.baudRate qint32.

此转换的目的是什么,检查 itemData().toInt() 是否属于 QSerialPort::BaudRate?当我尝试将 itemData 替换为不属于 enumint 时,没有返回任何错误。

最佳答案

静态转换不检查转换的有效性(参见 Can static_cast throw an exception in C++? )。这就是为什么当您尝试将 itemData 替换为与枚举不对应的 int 时不会返回错误的原因。

当它存储为整数时,将波特率转换为枚举是没有意义的。您可以删除强制转换并获得相同的结果。

关于c++ - 使用 Qt 枚举转换为 qint32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35469185/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com