c++ - 是否可以禁用 bool operator<(float,int)
问题描述
operator<
在比较整数和浮点类型时,我可以在 C++ 中禁用或强制显式强制转换吗?在整数和浮点类型之间使用operator<
很容易导致定量代码中的错误。我试过bool operator<(double, int) = delete;
了,但它希望其中一种类型是类或枚举。如何使以下内容因类型错误而无法编译?
int main()
{
if (3.0 < 4)
{
std::cout << "X" << std::endl;
}
else
{
std::cout << "Y" << std::endl;
}
return 0;
}
解决方案
无法更改内置运算符的行为。您必须通过编译器警告或其他代码分析工具来检测这种情况。
推荐阅读
- python - 使用请求(或其他库)以 CSV 格式访问公共 Google 表格的内容
- javascript - 如何配置 [mode]="'sql'" 在 Angular 7 中使用 ng2-ace-editor?
- javascript - 在 JavaScript 中连续按下输入键时编辑器没有显示正确的行号?
- reactjs - 如何在 React.js 中添加 Font Awesome?
- c++ - std::unordered_set::equal_range 迭代器问题
- c# - C# Url.Action 参数 - 子应用程序
- python - 未使用 Make 文件设置 Python 环境(Unix)
- python - 如何计算python数据框中两列的模式?
- sql - SQL Server:每小时计算行数
- python - 从随机森林中取出的树有参考价值吗?