我的代码是:
#include<iostream>
using namespace std;
int main()
{
int arr[5] = {6,7,3,61,9};
int *p = arr;
int a,b,c = *p, *(p+1), *(p+2);
// int a,b,c ;
// a = *p;
// b = *(p+1);
// c = *(p+2);
return 0;
}
这给我带来了一个错误:";错误:在"+"标记之前应为"(";。当我尝试运行注释代码时,没有出现任何错误。谁能解释一下为什么会出错吗。
这不是在C++中声明和初始化多个变量的正确语法。如果你真的想让它们都在一条线上,那就是
int a = *p, b = *(p + 1), c = *(p + 2);
但很多人会建议只使用三条独立的线路:
int a = *p;
int b = *(p + 1);
int c = *(p + 2);