C++ 为什么显示错误:参数太少无法运行?

C++ 为什么显示错误:参数太少无法运行?,c++,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); } #包括 使用名称空间std;

即使在将参数传递到函数日志时,也会出现错误,显示的参数太少,无法执行函数

#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);
}
#包括
使用名称空间std;
整数日志(整数n,整数x){
返回(n>1)?1+log(n/x):0;
}
int main(){
int n,x;
cin>>n>>x;

在递归步骤中,您可能忘记了日志函数的第二个参数

返回(n>1)?1+日志(n/x,x):0;


顺便说一句,您应该为变量命名为描述性的名称。例如,不要使用
n
或者使用
base

log(n/x)
中,您要向
log
函数传递多少个参数?它期望多少?您的代码不包含
log10(1000)……,你说,你真的Sululd包括“代码> <代码>。如果你使用C++标准的函数。也,@ NaNaOLIVER当试图复制一个问题时,它帮助。”NeNaLover,这正是编译器所说的:)我的理解是,基础是代码> x<代码>这里,而不是<代码> N<代码>欢迎来到自我实现的支撑概念。谢谢你的更正,我以后会保留变量的描述性。