显示开始和结束时出错 "not declared" 我在 google 上没有得到任何相关原因
Error showing begin and end "not declared" and i didnt get any reasons regarding that on google
void lcm2(){
int noe,number;
cout<<"enter the no. of elements whose lcm you want"<<endl;
cin>>noe;
int arg[noe];
long product=1;
for(number=0;number<noe;number++){
cout<<"enter the "<<number+1<<"element"<<endl;
cin>>arg[number];
product*=arg[number];
}
int maximumm=arg[0];
for(number=0;number<noe;number++){
if(maximumm<arg[number]){
maximumm=arg[number];
}
}
bool result;
result = std::all_of(begin(arg),end(arg),[](int i){return i%2==0;});
while(maximumm!=product){
if(result==true){
cout<<"the lcm of all the numbers entered is = "<<maximumm<<endl;
break;
}
else{
maximumm++;
}
}
}
嗨,我正在尝试编写一个代码来计算多个数字的 lcm,这是代码,所以我遇到的错误是开始和结束 arnet 声明!!!为什么??我能知道原因吗?如果你不介意,请告诉我解决方法
写下 #include <vector>
后进行以下调整即可
int arg[noe]
-> std::vector<int> arg(noe);
begin(arg)
-> arg.begin()
end(arg)
-> arg.end()
第一个是由于 C++ 不支持可变长度数组。后两个不是完全必要的,但它们确实使您不必再 #include
C++ 标准库 headers.
void lcm2(){
int noe,number;
cout<<"enter the no. of elements whose lcm you want"<<endl;
cin>>noe;
int arg[noe];
long product=1;
for(number=0;number<noe;number++){
cout<<"enter the "<<number+1<<"element"<<endl;
cin>>arg[number];
product*=arg[number];
}
int maximumm=arg[0];
for(number=0;number<noe;number++){
if(maximumm<arg[number]){
maximumm=arg[number];
}
}
bool result;
result = std::all_of(begin(arg),end(arg),[](int i){return i%2==0;});
while(maximumm!=product){
if(result==true){
cout<<"the lcm of all the numbers entered is = "<<maximumm<<endl;
break;
}
else{
maximumm++;
}
}
}
嗨,我正在尝试编写一个代码来计算多个数字的 lcm,这是代码,所以我遇到的错误是开始和结束 arnet 声明!!!为什么??我能知道原因吗?如果你不介意,请告诉我解决方法
写下 #include <vector>
int arg[noe]
-> std::vector<int> arg(noe);
begin(arg)
-> arg.begin()
end(arg)
-> arg.end()
第一个是由于 C++ 不支持可变长度数组。后两个不是完全必要的,但它们确实使您不必再 #include
C++ 标准库 headers.