Visual c++ 编译器错误C2632:类型1后跟类型2是非法的

Visual c++ 编译器错误C2632:类型1后跟类型2是非法的,visual-c++,types,Visual C++,Types,我正在尝试学习一个需要包含头文件的SDK。头文件中有两条语句表示 typedef long long SomeIdentifier_SInt64; 及 编译器(MSVC++6)抱怨这是非法的。如果是,这是否意味着SDK已损坏?我严重怀疑情况是否如此。这在其他编译器中合法吗?这有什么办法吗 谢谢 我的环境是MS Windows XP Pro 32位。VC6太旧,太破旧,不知道“long long”。它将编译int64。VS200x没有问题。VC6太旧太坏,不知道“long long”。它将编译i

我正在尝试学习一个需要包含头文件的SDK。头文件中有两条语句表示

typedef long long SomeIdentifier_SInt64;

编译器(MSVC++6)抱怨这是非法的。如果是,这是否意味着SDK已损坏?我严重怀疑情况是否如此。这在其他编译器中合法吗?这有什么办法吗

谢谢


我的环境是MS Windows XP Pro 32位。

VC6太旧,太破旧,不知道“long long”。它将编译int64。VS200x没有问题。

VC6太旧太坏,不知道“long long”。它将编译int64。VS200x没有问题。

MSVC6是一个非常旧且蹩脚的编译器。他们的最新版本要好得多,你可以在上免费下载


不过它确实支持
\uuuu int64
unsigned\uuuu int64
,因此,如果由于某种原因无法使用最新版本,您可以搜索SDK头并替换找到的
long
的每个实例。

MSVC6是一个非常旧且蹩脚的编译器。他们的最新版本要好得多,你可以在上免费下载


它确实支持
\uuuu int64
unsigned\uuuu int64
,因此,如果由于某种原因无法使用最新版本,您可以搜索SDK标题并替换找到的
long
的每个实例。

您需要使用2003年2月版本的平台SDK


您需要使用2003年2月版的平台SDK


不幸的是,我无法更换工作中使用的软件。我可以将头文件中的long替换为_int64吗?这被认为是可接受的做法吗?取决于您对“可接受”的定义。大多数人不认为VC6是可以接受的,但是如果用Auth-In64替换长的,那么它就可以接受了。然而,这一次VC6实际上或多或少是正确的。长长不是一个有效的C++类型。它存在于C中,但在C++中还没有。不过int64应该可以工作。在x86上,long是64位整数__int64只是Microsoft对该数据类型的不可移植名称。我真正关心的是,我会修改SDK供应商的头文件。不管怎样,我想我现在可能不得不修改它。。谢谢。很遗憾,我无法更换我在工作中使用的软件。我可以将头文件中的long替换为_int64吗?这被认为是可接受的做法吗?取决于您对“可接受”的定义。大多数人不认为VC6是可以接受的,但是如果用Auth-In64替换长的,那么它就可以接受了。然而,这一次VC6实际上或多或少是正确的。长长不是一个有效的C++类型。它存在于C中,但在C++中还没有。不过int64应该可以工作。在x86上,long是64位整数__int64只是Microsoft对该数据类型的不可移植名称。我真正关心的是,我会修改SDK供应商的头文件。不管怎样,我想我现在可能不得不修改它。。谢谢..在nobugz的回答中看到我的评论。。顺便说一句,我不能使用快速版,我的工作需要MFC。请参阅nobugz回答中的我的评论。。顺便说一句,我不能使用快速版,我的工作需要MFC。这是不是包括在MSVC6的SP5中?这是一个相当大的软件包,我不知道我是否有足够的资源下载它。这是不是包括在MSVC6的SP5中?这是一个相当大的软件包,我不知道我是否有足够的资源下载它。。
typedef unsigned long SomeIdentifier_UInt64;