'memchr' 的类型冲突
Conflicting types for 'memchr'
我目前正在尝试修改一个用 C 编写的库(ASN.1 编译器),以便我可以在 C++ Builder (XE6) 中编译和使用它。
这样做,我遇到了错误 "Conflicting types for 'memchr'" (in cstring).
经过一番研究,这个问题似乎是因为C和C++代码混用造成的。但是,当我使用 C++ Builder 及其编译器时,我无法使用我在其中阅读的文章中建议的解决方案,因为它们与 GCC 编译器相关。
解决这个错误的方法是什么?
谢谢
您可能混合使用 cstring
和 string.h
。不要这样做。
前者声明:
void * memchr(void *, int, size_t);
后者是
void * memchr(const void *, int, size_t);
它们不是同一类型。
我目前正在尝试修改一个用 C 编写的库(ASN.1 编译器),以便我可以在 C++ Builder (XE6) 中编译和使用它。 这样做,我遇到了错误 "Conflicting types for 'memchr'" (in cstring).
经过一番研究,这个问题似乎是因为C和C++代码混用造成的。但是,当我使用 C++ Builder 及其编译器时,我无法使用我在其中阅读的文章中建议的解决方案,因为它们与 GCC 编译器相关。
解决这个错误的方法是什么?
谢谢
您可能混合使用 cstring
和 string.h
。不要这样做。
前者声明:
void * memchr(void *, int, size_t);
后者是
void * memchr(const void *, int, size_t);
它们不是同一类型。