作业,请告知

显然,我对在方法中返回某些内容的想法是错误的。我正在尝试编写获取数字和运算的导数的方法。到目前为止,我只想获得不带“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/

10-11 23:07