我声明我的变量
int exceedLimit = 0;
我调用一个函数
compareLimit(selectChannel,exceedLimit);
该功能检查选择通道的当前值是否超过当前设置限制(上限设置为 100,下限设置为 50)。默认情况下,在用户更改某些值之前不应触发它。
int compareLimit (int channelID, int isLimitExceeded)
{
if (temperatureChannel[channelID].currentTemperature > temperatureChannel[channelID].highLimit || temperatureChannel[channelID].currentTemperature < temperatureChannel[channelID].lowLimit)
isLimitExceeded = 2;
else
isLimitExceeded = 1;
return isLimitExceeded;
}
现在这是下一行代码中的问题......在前面的函数中我返回isLimitExceeded,然后我尝试匹配该返回值以确定警报状态是否应该触发。这个 if 语句是在 compareLimit 之后写的
if (exceedLimit = 2)
logSubsystem();
当我运行这个程序时,我的超出限制立即触发并且我的 logsubsystem 函数被调用......但是因为我exceedLimit = 0
在我的 cpp 文件的开头声明了这怎么可能?