显示开始和结束时出错 "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.