-2

我正在 Visual Studio 2010 中编译 VC++ 代码。代码中的这一行给出了两个错误:

assert.h
//ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_Export void __ace_assert(const char *file, int line, const ACE_TCHAR *expression);
//ACE_END_VERSIONED_NAMESPACE_DECL

我在此文件中包含这些文件:

#include /**/ "ace/pre.h"
#include /**/ "ace/ACE_export.h"
#include /**/ "ace/config-all.h"
#include "ace/Versioned_Namespace.h"

错误:

  1. 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

  2. 错误 C2143:语法错误:在 '*' 之前缺少 ','

这条线有什么问题可能导致这些错误?

我发现其他帖子报告了类似的错误,但到目前为止,没有一个解决方案对我有用。已尝试:错误 C4430、C2146 - 缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

VC++ 缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

错误 2 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

编译器错误 C4430:缺少类型说明符 - 假定为 int

谢谢你。

4

1 回答 1

1

如果assert.h在您的程序中完全如图所示,那就是问题所在。尝试包括断言。

#include "assert.h"

另外,请确保ACE_ExportACE_TCHAR已定义。

行号和确切的编译器消息会有所帮助。

于 2016-05-21T00:31:31.760 回答