Visual c++ 编译器错误C2632:类型1后跟类型2是非法的
我正在尝试学习一个需要包含头文件的SDK。头文件中有两条语句表示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
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;