定义一个函数指针类型的时候,报错 expected declaration specifiers or ‘...’ before ‘*’ token 是什么原因
时间: 2024-02-01 20:16:25 浏览: 28
这个错误通常是由于语法错误造成的。在定义函数指针类型时,需要使用一些关键字和类型说明符来指定该函数指针类型的返回类型和参数列表,例如:
```c
typedef int (*FuncPtr)(int, char*);
```
这里定义了一个名为 `FuncPtr` 的函数指针类型,它返回 `int` 类型,接受两个参数,分别为 `int` 和 `char*` 类型。如果在这个语句中出现了语法错误,例如漏掉了关键字、类型说明符或参数名,就会出现类似于 "expected declaration specifiers or ‘...’ before ‘*’ token" 的错误信息。
请检查你的代码,确保在定义函数指针类型时没有语法错误,并且使用了正确的关键字和类型说明符。
相关问题
expected declaration specifiers or '...'before '(' token
这个错误通常是由于函数或变量的声明不完整引起的。如果您能提供更多的上下文或代码细节,我可以更准确地帮助您找出问题所在。但是,您可以先检查一下您的代码是否存在以下情况:
- 函数或变量的声明缺少类型说明符,例如int、char等。
- 括号不匹配,例如缺少左括号或右括号。
- 可能存在语法错误或拼写错误。
请注意,这只是一些可能导致该错误的常见问题之一。如果您需要更详细的帮助,请提供更多的上下文和代码细节。
linux中expected declaration specifiers or ‘...’ before numeric constant int main(0
在 C 语言中,int main() 是程序的入口,参数列表可以为空,但是参数列表不能为 0 或其他数值常量。如果你使用 int main(0),编译器会提示“expected declaration specifiers or ‘...’ before numeric constant”的错误,这是因为 0 不是有效的声明说明符。如果你想在程序中使用数字常量,应该在 main 函数体内定义或声明。