,在您使用processCMD()
點,你還沒有宣佈它的原型,所以它得到了一個默認。
事實上,你沒有聲明它會導致第一個錯誤。
事實上,您的實際定義與創建的默認定義相沖突,因爲您尚未聲明它是導致第二個錯誤的原因。
的解決方案是使用前向任一定義函數:
void processCMD(void) {
blah blah blah
}
void main (char string[]) { // not really a good definition for main, by the way.
strcpy(command_E,string);
processCMD();
}
或在使用之前提供了一個原型:
void processCMD(void);
void main (char string[]) { // not really a good definition for main, by the way.
strcpy(command_E,string);
processCMD();
}
void processCMD(void) {
blah blah blah
}
至於main
聲明,這兩個正則形式是:
int main (void);
int main (int argc, char *argv[]); // or char **argv.
其他標準允許使用標準(已定義實現),但這兩者是必需的(至少對於託管實現 - 獨立實現,如嵌入式系統或操作系統可以很好地執行任何他們想要的操作)。
如果main(char string [])不是main的好定義,另一種選擇是什麼?!? – Ken
@Ken,看到更新。 – paxdiablo