失踪 ';'在'使用'之前

时间:2011-05-10 15:07:37

标签: c++

我使用以下代码收到此编译错误:

  

错误C2143:语法错误:缺少';'在'使用'之前

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

using namespace std;

这怎么可能?如何解决?

3 个答案:

答案 0 :(得分:19)

"s.h"可能包含未以;

终止的类声明

当您包含标题时,C预处理器会将替换标题的内容放入内联中,因此,如果您查看s.h,您可能会发现;

未终止的内容

答案 1 :(得分:1)

错误发生在s.h。在C ++中,#include只是一种文本插入机制,因此如果头文件的末尾包含错误,则可能会在#include错误文件的文件中收到错误。

答案 2 :(得分:1)

也可能是s.h不是C ++头但是C头没有声明extern C试图替换你的

#include "s.h"

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

你也可以在头文件中解决这个问题。