[英]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.