错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int - 以前的解决方案不起作用

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int - Prev solutions not working

我正在 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++ 不支持 default-int

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

可能导致这些错误的这一行有什么问题?

我发现其他帖子报告了类似的错误,但 none 的解决方案到目前为止对我有用。试过:Error C4430, C2146 - missing type specifier - int assumed. Note: C++ does not support default-int

VC++ missing type specifier - int assumed. Note: C++ does not support default-int

Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

Compiler error C4430: missing type specifier - int assumed

谢谢。

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

#include "assert.h"

此外,请确保 ACE_ExportACE_TCHAR 已定义。

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