'memchr' 的类型冲突

Conflicting types for 'memchr'

我目前正在尝试修改一个用 C 编写的库(ASN.1 编译器),以便我可以在 C++ Builder (XE6) 中编译和使用它。 这样做,我遇到了错误 "Conflicting types for 'memchr'" (in cstring).

经过一番研究,这个问题似乎是因为C和C++代码混用造成的。但是,当我使用 C++ Builder 及其编译器时,我无法使用我在其中阅读的文章中建议的解决方案,因为它们与 GCC 编译器相关。

解决这个错误的方法是什么?

谢谢

您可能混合使用 cstringstring.h。不要这样做。

前者声明:

void * memchr(void *, int, size_t);

后者是

void * memchr(const void *, int, size_t);

它们不是同一类型。