【C++】数组指针与error: lvalue required as increment operand

int (*p)[10]是一个数组指针,但是这个指针不是指向数组的首地址,而是指向数组名的地址。
using arrT=int[10];
arrT
* functions(arrT* arrs,size_t a_size){
 int *p=(*arrs);
 for(int i=0;i
 // std::cout<
 *p=i;
 p++;
 //不能用下面的语句,(*arrs)++会报lvalue required as increment operand错误,因为(*arrs)不是一个左值
 //*(*arrs)=i;
 //(*arrs)++;
 
 }
 return arrs;

}

int main()
{
 int (*p)[10];
 int arrs[]={1,2,3,4,5,0,0,0,0,0};
 //不能是p=functions(arrs,10),因为是函数需要传一个数组指针而不是首地址指针
 p=functions(&arrs,10);
 for(auto c:(*p)){
 std::cout<std::endl;
 }
}

请使用浏览器的分享功能分享到微信等