128 21 C:\Users\user\Desktop\未命名1.cpp [Error] variable-sized object 'p' may not be initialized
时间: 2023-10-16 18:10:01 浏览: 80
这是一个编译错误,意思是变量大小不确定的对象 'p' 不能被初始化。一般来说,C++中栈上的变量需要在编译时确定大小,否则就会出现这种错误。可能是你声明了一个数组或指针变量 p,但是在定义时使用了变量或者表达式来确定它的大小,导致编译器无法确定它的大小,从而报错。你可以尝试使用动态内存分配(比如new运算符)来解决这个问题。
相关问题
error: variable-sized object may not be initialized
错误:变量大小的对象可能无法初始化
这个错误通常是因为在定义变量时,使用了变量的大小作为其大小,例如:
int n;
scanf("%d", &n);
int arr[n] = {};
这里的arr是一个变量大小的数组,它的大小是n,但是在定义时使用了{n}进行初始化,这是不允许的。解决方法是使用循环来初始化数组,或者使用动态内存分配来创建数组。
17 3 E:\piaopiao_code\2023KF\sad_wym.c [Error] variable-sized object may not be initialized
这个错误提示是因为你在定义一个变长数组时,尝试对其进行初始化,而变长数组是在运行时才能确定大小的,所以不能在定义时进行初始化。你需要在定义时省略掉数组的大小,然后在运行时动态分配内存,并在使用前对其进行初始化。例如:
```
int n;
scanf("%d", &n);
int arr[n]; // 定义变长数组
for (int i = 0; i < n; i++) {
arr[i] = i; // 对变长数组进行初始化
}
```