#difine前置處理器指令拼寫錯誤導致無效前置處理指令錯誤。本文記錄 #define 誤寫為 #difine 的錯誤現象與識別技巧。
error: invalid preprocessing directive #difine
#include <stdio.h>
#difine MAX 100 // 拼寫錯誤:difine 而非 define
int main(void) {
printf("%d\n", MAX);
return 0;
}
# 開啟前置處理指令define、include、ifdef 等difine 非標準指令 → invalid preprocessing directiveMAX 會進一步報錯 'MAX' undeclared| 錯誤拼寫 | 正確拼寫 | 功能 |
|---|---|---|
| #difine | #define | 定義巨集 |
| #incude | #include | 包含頭檔 |
| #ifdef / #ifndef | #ifdef / #ifndef | 條件編譯 |
| #elsif | #elif | 多分支條件 |
| #endif | #endif | 結束條件編譯 |
| #pragama | #pragma | 編譯器指示 |
define = definition,非 difference#define 代碼片段,輸入 def + Tab 展開invalid preprocessing directive 明確指向前置處理器指令拼寫前置處理器指令不經過編譯器語法分析,錯誤訊息更直接指向拼寫本身。這類錯誤雖低級,但極易在疲勞編碼時發生,養成使用片段與關注首個錯誤的習慣可有效規避。