expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘struct’

2023-11-01

这篇准备长期更新…


1.在编译时遇到错误
错误: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘struct’
src/cli_socket_handle.c: 在函数‘client_login’中:
...
  • 这种错误第一次遇到肯定很懵逼,根据多年的调试经验,很大可能是某个头文件不小心多打了某些没有意义的字符串,比如(倒数第二行多了个send):
    #ifndef CLI_SOCKET_HANDLE_H
    #define CLI_SOCKET_HANDLE_H
    #include "format.h"
    
    int send_file_head(int sockfd);
    send
    #endif //!CLI_SOCKET_HANDLE_H
    

2.下面这个错误
/usr/include/fcntl.h:211:12: 错误: 为形参‘posix_fadvise’指定了存储类
/usr/include/fcntl.h:233:12: 错误: 为形参‘posix_fallocate’指定了存储类
In file included from src/cli_socket_handle.c:15:0:
./libs/md5_sha2/include/sha2.h:22:2: 错误: 为形参‘Sha256State’指定了存储类
./libs/md5_sha2/include/sha2.h:25:17: 错误: expected declaration specifiers or ‘...’ before ‘Sha256State’
./libs/md5_sha2/include/sha2.h:26:18: 错误: expected declaration specifiers or ‘...’ before ‘Sha256State’
./libs/md5_sha2/include/sha2.h:27:17: 错误: expected declaration specifiers or ‘...’ before ‘Sha256State’
./libs/md5_sha2/include/sha2.h:28:19: 错误: expected declaration specifiers or ‘...’ before ‘Sha256State’
./libs/md5_sha2/include/sha2.h:32:15: 错误: 为形参‘Sha256Callback’指定了存储类
./libs/md5_sha2/include/sha2.h:33:22: 错误: expected declaration specifiers or ‘...’ before ‘Sha256Callback’
./libs/md5_sha2/include/sha2.h:37:21: 错误: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Sha224State’
./libs/md5_sha2/include/sha2.h:39:17: 错误: expected declaration specifiers or ‘...’ before ‘Sha256State’
./libs/md5_sha2/include/sha2.h:42:19: 错误: 未知的类型名‘Sha224State’
。。。
  • 别着急,这种大部分是因为头文件某个函数后面忘记加分号了,比如(倒数第二行函数声明后少了分号发现没):
    #ifndef CLI_SOCKET_HANDLE_H
    #define CLI_SOCKET_HANDLE_H
    #include "format.h"
    
    int send_file_head(int sockfd)
    #endif //!CLI_SOCKET_HANDLE_H
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘struct’ 的相关文章

  • QTableView如何插入图片(ICON)在文字的右边

    QTableView如何插入图片 ICON 在文字的右边方法一 QStyledItemDelegate 继承自 QAbstractItemDelegate 主要用于为 Model View 中的数据项提供显示和编辑功能 采用继承QStyle
  • JavaScript运算符优先级

    JavaScript 运算符优先级 是描述在计算机运算计算表达式时执行运算的先后顺序 先执行具有较高优先级的运算 然后执行较低优先级的运算 例如 我们常说的先执行相乘和除 再执行加减运算 JavaScript 运算符 圆括号处理Javasc
  • yarn.lock、package-lock.json、npm-shrinkwrap.json的区别

    总的来说yarn lock和package lock json起的作用相同 只不过yarn是默认的 npm到5以后才会出现lock package lock json是npm5的新特性 也不向前兼容 如果npm版本是4或以下 那得用npm
  • JavaScript HTML DOM

    JavaScript HTML DOM 文档对象模型 是一种用于访问和操作HTML文档元素的编程接口 它将HTML文档表示为一个树形结构 使开发人员可以使用JavaScript来操作和修改HTML元素 属性 样式和事件 通过使用HTML D
  • Vue研习录(04)——列表渲染详解及示例分析

    Vue研习录 04 列表渲染详解及示例分析 版权声明 一 v for 二 维护状态 三 v for 与对象 四 在 v for 里使用范围值 版权声明 本文原创作者 清风不渡 博客地址 https blog csdn net WXKKang
  • 【STM32】时钟系统RCC

    目录 一 时钟树 1 时钟源 2 高速外部时钟信号 HSE 3 低速外部时钟信号 LSE 4 系统时钟 SYSCLK 5 时钟输出 MCO 6 AHB 参考文献 一 时钟树 本文以STM32F103为例 将本人所知的关于STM32的时钟系统
  • Java实战项目二(超详细)---奔跑吧小恐龙

    奔跑吧小恐龙是一款简单的跑酷游戏 代码简单 适合初学者学习 玩家控制小恐龙向前狂奔 躲避沿途出现的石头和仙人掌 跑的越远 分数越高 游戏内还增加了背景音乐 跳跃音乐和碰撞音乐 本文的代码虽然长 但不难理解 希望大家能够耐心看完 文中代码均可
  • EXCEL VBA连接SQL数据库

    说明 EXCEL VBA连接SQL数据库一般有以下3个步骤 1 VBA连接数据库之前需要创建连接对象 可以采用以下方式 Dim CN As Object Set CN CreateObject ADODB Connection 也可以通过添
  • 数据库应用 --- Yelp Data Analysis Application

    数据库应用 Yelp Data Analysis Application Overview Basic Info Functionality 初始GUI Simple Business Search Simple User Search 筛
  • 你还不会Python网络爬虫中的requests模块使用《一》

    替代模块 比如说urllib模块 但是在工作中用的最多的还是requests模块 requests的代码简洁易懂 相对于臃肿的urllib模块 使用requests编写的爬虫代码将会更少 而且实现某一功能将会简单 因此建议大家掌握该模块的使
  • ENVI: 如何创建GLT文件并基于GLT对图像进行几何校正?

    这是一条目录 目录 这是一条目录 01 什么是GLT文件 02 案例 1 打开ENVI软件 1 1 软件界面显示效果如下 2 加载需要基于GLT进行几何校正的风云三号卫星影像数据 3 寻找 建立GLT文件 的工具所在位置 4 建立GLT文件
  • PL2303驱动安装需要联网

    问题描述 提示 这里描述具体问题 在使用PL2303驱动时 需要连接网络 例如 USB RS232插入电脑后会在windows10系统设备管理中的其他设备中显示USE Ser 这个表示没有安装驱动 我安装了PL2303驱动后也没办法使用 后

随机推荐