繁体   English   中英

错误:使用不同类型重新定义typedef

[英]error: typedef redefinition with different types

我尝试使用NDK在Android Studio中编译c ++ lib并得到一些错误:

C:\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\..\lib64\clang\3.8.275480\include\stddef.h:62:23: error: typedef redefinition with different types ('unsigned long' vs 'unsigned int') typedef __SIZE_TYPE__ size_t; ^../../../../src/main/cpp/include\Crypto/Core/Types.h:20:22: note: previous definition is here typedef unsigned int size_t;

当我定义

typedef unsigned long size_t;

我得到:

C:\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\..\lib64\clang\3.8.275480\include\stddef.h:62:23: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long') typedef __SIZE_TYPE__ size_t;^  ../../../../src/main/cpp/include\Crypto/Core/Types.h:20:23: note: previous definition is here typedef unsigned long size_t;

我该如何解决?

您不能使用typedef重新定义size_t 如果要使用32位无符号整数,可以编写:

typedef unsigned long u32t

size_t已经是由几种C / C ++标准定义的数据类型。 尝试键入其他尚未在语言中定义的内容。

例:-

typedef unsigned long my_size_t;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM