繁体   English   中英

编译器编译外部包含

[英]Compiler compiling external includes

我的项目有一个小问题。 我已经建立了静态库(例如test.lib)。 将其包含在我的二进制项目链接器中,并将#include "test.h"包含在stdafx.h 但是,当二进制文件开始生成时, CSomeObject测试会发生C错误:

“错误C2146:语法错误:缺少';' 在标识符“ test”之前”。

有什么事吗 我还将二进制项目CSomeObject.h包括在内吗? 另外也许有人可以解释编译器如何与包含一起使用? 提前Thnx :)

听起来您好像没有包括所有需要包含的内容,或者您​​的类/结构声明格式不正确。

有时会产生这种类型的错误,因为之前的标识符权test的东西,编译器一无所知,所以它与治疗语句test作为该标识,而非申请宣告test 然后,当它看到test时,这是一个语法错误。

因此,如果您有一行:

CSomeObject test;

但是编译器对CSomeObject ,您将看到错误。

您还会看到类似以下内容的问题:

class CSomeObject {

    // ...

} // there's a missing semi-colon here

CSomeObject test;

因为发生的事情是第二个CSomeObject是class CSomeObject的实例,而`test是一个虚假的语法错误。

通过语法上的正确,应该是:

class CSomeObject {

    // ...

};  // note the semi-colon...

CSomeObject test;

您的CSomeObject类是否缺少“;” 在类声明的末尾,即在头文件中最后一个结束大括号(“}”)之后?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM