expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token 15 | void bitree *tree_create();
时间: 2023-09-24 13:10:53 浏览: 95
这个错误提示是因为在函数返回类型 `void` 和函数名 `bitree *tree_create()` 之间多了一个空格。应该将它们写在一起,即将函数声明修改为:
```c
bitree* tree_create();
```
这样就可以解决这个错误了。
相关问题
error: expected = , , , ; , asm or __attribute__ before : token CVAPI(cv::Rect)cvGetWindowImageRect(const char* name);
这个错误信息看起来像是C++或C编译时遇到的问题,它提示在`cvGetWindowImageRect`函数声明中缺少预期的语法元素,如赋值符 `=`, 引号 ``, 控制字符 `,`, 分号`;`, `asm` 关键字,或者是`__attribute__`这样的编译属性前缀。
函数声明`CVAPI(cv::Rect)cvGetWindowImageRect(const char* name)`看起来像是OpenCV库中的函数,`CVAPI`可能是某个特定环境下的宏或者标记,用于指示这是一个公开的API函数。这里可能需要一个函数原型来说明返回类型和参数,但是缺少了正确的语法。
修复这个问题通常需要你在`cvGetWindowImageRect`前面加上适当的返回类型、参数列表以及分号`;`。例如:
```cpp
CV_API cv::Rect cvGetWindowImageRect(const char* name);
```
其中`CV_API`应该替换为你的实际编译环境中用于表示API的标识。如果你是在使用CMake或者其他构建工具,可能还需要确保头文件包含了正确的宏定义。
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
这个错误通常是由于语法错误或者头文件引用错误导致的。根据引用内容,有几种可能的原因和解决方法。
一种可能是你的C文件包含了C++头文件,这会导致编译器无法识别C++的语法。解决方法是不要在C文件中包含C++头文件,或者将C文件改为CPP文件。
另一种可能是在修改Makefile文件时出现了错误。可能是因为你只修改了依赖文件(.c文件)的文件名,而没有修改目标文件(.o文件)的文件名。解决方法是将目标文件名修改为正确的文件名。
还有一种可能是在使用Makefile时误用了gcc。有些版本的make喜欢使用gcc进行连接,这可能导致错误。解决方法是在Makefile的头部添加一句CC=g++,以确保使用g++进行连接。
综上所述,你可以检查一下你的代码中是否有语法错误或者头文件引用错误,并根据具体情况采取相应的解决方法。
#### 引用[.reference_title]
- *1* *2* *3* *4* [编译错误:error: expected '=', ',', ';', 'asm' or '__attribute__' before...](https://blog.csdn.net/sweetfather/article/details/79756946)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文