2011-05-10 57 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头这在头文件本身。