提问人:potato-sam 提问时间:11/17/2023 最后编辑:πάντα ῥεῖpotato-sam 更新时间:11/17/2023 访问量:76
函数参数过多 [已关闭]
too many argument to the function [closed]
问:
我在终端中收到此错误:参数太多而无法正常工作。我认为这与功能有关,但到目前为止我无法找出任何解决方案。我对 c++ 有点陌生,所以我希望我能得到一些解决这个问题的指导。'bool Verify(int, int)'
我的代码如下所示:
#include<iostream>
#include<cmath>
bool Verify(int number,int size);
int main()
{
int number;
std::cin>>number;
int size= floor(log10(number))+1;
int array[size];
if(Verify(number,size,array)==true){
std::cout<<"this number is verify";
}else{
std::cout<<"this number isn't verify";
}
return 0;
}
bool Verify(int number,int size,int array[])
{
int sum=0;
for(int i=0;i<size;i++){
int digit=number%10;
number=number/10;
array[i]=digit;
}
for(int j=0;j<size;j+2){
if(array[j]%2==1)
{
sum=sum+array[j];
}else if(array[j]>4){
sum=sum+2*array[j]-9;
}else
{
sum=sum+2*array[j];
}
}
if(sum%10==0){
return true;
}else{
return false;
}
}
答:
3赞
YSC
11/17/2023
#1
你的声明和定义相互矛盾:Verify
声明:
bool Verify(int number,int size);
定义:
bool Verify(int number,int size,int array[]) //...
修复声明以反映定义。
不是问题的一部分:你已经在这里设置了一个无限循环:
for(int j=0;j<size;j+2)
j
从不更新,因此将永远如此。j<size
评论
std::vector<int>&
int array[]