假设您获得三个变量:收入、支出和利润,所有变量均为 Money 类型(具有两个 int 字段(美元和美分)的结构化类型)。将收入减去费用的结果分配给利润。让我们做出一个愉快的假设:收入超过支出。然而,您仍然可能会发现支出的美分部分超过了收入的部分。如果是这种情况,您将必须从收入美元中“借”1(即减去 1)并将其“给予”收入美分(即加 100!),以便正确执行减法。
这是我所拥有的,但它不起作用:
if (revenue.cents < expenses.cents)
{
revenue.dollars = revenue.dollars -1;
revenue.cents = revenue.cents + 100;
profit = revenue - expenses;
}
else
{
profit = revenue - expenses;
}
我收到此错误消息: 错误:“收入 - 支出”中的“operator-”不匹配
感谢任何帮助。谢谢。
最佳答案
您收到该错误是因为您无法从一个结构中减去另一个结构。您必须为您的struct
定义一个operator-()
函数。
关于c++ - 结构操作,代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443578/