代码之家  ›  专栏  ›  技术社区  ›  Carbon

是否可以禁用布尔运算符<(浮点,整数)

c++
  •  0
  • Carbon  · 技术社区  · 7 年前

    在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;
    }
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   M.M    7 年前

    不可能改变内置操作员的行为。您必须通过编译器警告或其他代码分析工具来检测这种情况。