为什么会显示错误:函数的参数太少?

时间:2019-06-21 14:01:48

标签: c++

即使在将参数传递到函数日志时,也会显示错误,表明函数参数太少。

#include <iostream>
using namespace std;

int log(int n, int x){
    return (n>1) ? 1 + log(n/x) : 0;
}

int main() {
    int n,x;
    cin>> n>> x;
    cout<< log(n,x);
}

我希望log10(1000)的输出为3,但是很少显示参数错误。

1 个答案:

答案 0 :(得分:3)

您在递归步骤中忘记了log函数的第二个参数。

return (n>1) ? 1 + log(n/x, x) : 0;

顺便说一句,您应该给变量起一些描述性的名称。例如,可以使用n而不是base