141 12 C:\Users\Administrator\Desktop\11.cpp [Error] expected initializer before '*' token
时间: 2024-12-31 20:49:48 浏览: 10
错误信息 "expected initializer before '*' token" 意味着在 C++ 编程中遇到了语法错误,通常发生在声明指针变量或数组的时候。在这个特定的例子 `141 12 C:\Users\Administrator\Desktop\11.cpp` 中,'*' 符号前面应该有一个初始化值,表示指针所指向的对象或者是一个数组大小的说明。
如果代码像这样:
```cpp
int* ptr; // 这样是正确的,声明了一个整型指针,但未初始化
int array[] = {0}; // 数组需要明确指定大小
```
但在 `*` 后面没有跟上初始化值,例如 `int *ptr = nullptr;` 或 `int size = 10; int array[size];`,这就导致了编译器预期在星号前有初始化表达式。
修复这个问题,你需要检查并确保在使用星号之前提供了一个合法的初始化表达。如果你是在尝试创建动态分配的内存,记得要用 `new` 关键字:
```cpp
int* ptr = new int; // 创建一个整型指针并分配内存
delete ptr; // 记得在不再使用时释放内存
// 或者创建固定大小的数组
int array[10];
```
阅读全文