2011-05-10 58 views
9

之前,我得到這個編譯錯誤,用下面的代碼:失蹤';' 「使用」

錯誤C2143:語法錯誤:缺少「;」前 '使用'

#include <iostream> 
#include <iomanip> 
#include <fstream> 
#include <string> 
#include "s.h" 

using namespace std; 

這怎麼可能?它如何被修復?

+5

請向我們展示's.h'。 – 2011-05-10 15:09:45

+0

也許是's.h'的問題?你可以發佈嗎? – juanchopanza 2011-05-10 15:10:17

+0

錯誤消息說明:缺少';'在使用之前。顯然,它在「s.h」中缺失。你可以插入整個文件而不是#include指令來理解。 – 2015-07-14 10:14:13

回答

19

"s.h"可能含有當你包含一個頭,這不是一個;

終止的類聲明,C預處理程序提出替代標頭的內容在網上,所以,如果你看一下s.h你可能會發現未終止的東西;

+0

啊,很好的電話。謝謝 – rach 2011-05-10 15:18:45

1

錯誤在您的s.h。在C++中,#include只是一個文本插入機制,所以如果頭文件的末尾包含錯誤,則可能會在文件中發生錯誤,該錯誤文件爲#include

1

這也可能是因爲SH是不是C++頭,但其未聲明外部C試試你的

#include "s.h" 

#ifdef __cplusplus 
extern "C" 
{ 
#endif 
#include "s.h" 
#ifdef __cplusplus 
} 
#endif 

你也可以修復替換C頭這在頭文件本身。