gpt4 book ai didi

c++ - 类型 'double' 和 'int' 到二进制 'operator%' 的无效操作数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:00 25 4
gpt4 key购买 nike

我正在为我的控制结构类编写一个程序,并且正在尝试编译它。唯一的错误,至少编译器发现的唯一错误是将类型为“double”和“int”的无效操作数说成二进制“operator%”。大部分程序都没有包括在内,因为它太长而且与这个问题无关,至少我不相信。

double maxTotal, minTotal;

cin >> maxTotal >> minTotal;

int addCalc;

static_cast<int>(maxTotal);

if(maxTotal % 2 == 1)
addCalc = minTotal;
else
addCalc = 0;

最佳答案

您的 static_cast 没有做任何事情。你应该做的是:

if(static_cast<int>(maxTotal) % 2 == 1)

C++ 中的变量不能改变类型。静态转换返回转换后的值,它不改变输入变量的类型,所以你必须直接使用它或分配它。

int iMaxTotal = static_cast<int>(maxTotal);

if(iMaxTotal % 2 == 1)
addCalc = minTotal;
else
addCalc = 0;

这也行。

关于c++ - 类型 'double' 和 'int' 到二进制 'operator%' 的无效操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18038902/

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