程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> error: expected expression before ‘struct’

error: expected expression before ‘struct’

編輯:關於C語言
 

Linux C/C++編程時常會遇到“error: expected expression before ‘struct’”錯誤,此錯誤一般是由未定義的宏(宏裡套宏)或參量引起,導致編譯器判斷當前語句為非法語句,可能有如下幾種情況。

1、缺少ioctl.h頭文件

調用ioctl函數,用到參數VIDIOC_QUERYCAP時無法編譯通過。

解決辦法:

#include <sys/ioctl.h>

2、#define錯誤

比如:

#define X =5

int z=X+1;

解決辦法:

修正#define定義,此外,還會遇到復雜表達式宏定義,裡面如果仍有未定義的宏或參量,一樣會報告本文錯誤。

3、使用了C/C++保留字

比如:

typedef struct {

int x;

}struct;

解決辦法:

修改結構體typedef名稱,一般不建議使用保留字命名。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved