作业,请告知
显然,我对在方法中返回某些内容的想法是错误的。我正在尝试编写获取数字和运算的导数的方法。到目前为止,我只想获得不带“x”的非负数的导数(无论给出什么值,结果都应为零)。
代码很长,需要清理,所以我只包括方法,调用和得到的内容。
方法:
int noXDerivative(int tempInt, string tempX)
{
if (tempX == "")
{
tempInt = 0;
}
return tempInt;
}
void getDerivatives(int tempInt, string tempX, int tempInt2, string tempX2, char tempOperator)
{
noXDerivative(tempInt, tempX);
noXDerivative(tempInt2, tempX2);
}
电话:
getDerivatives(tempNumInt, tempNumX, tempNum2Int, tempNum2X, expression[iterator]);
我还直接调用了“noXDerivative”以查看会发生什么,但结果没有改变。我现在正在运行的测试是“5 + 6”(tempNumInt为5,tempNum2Int为6)。当我需要得到0时,我总是得到11(再次,没有“x”)。我希望如果将tempNumInt作为参数之一,则可以在noXDerivative方法中将其从5更改为0,但事实并非如此。我该如何纠正?
最佳答案
我不得不说,我不明白您要做什么。
尽管如此,要实现在tempInt
中修改getDerivatives()
的目标,您可以执行以下操作:
tempInt = noXDerivative(tempInt, tempX);
或者,您可以修改
noXDerivative()
函数以通过引用而不是通过值接受其参数:int noXDerivative(int &tempInt, string tempX)
{
...
}
关于c++ - “return”的C++澄清,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5783214/