2

現在、C で記述されたライブラリ (ASN.1 コンパイラ) を変更しようとしているので、コンパイルして C++ Builder (XE6) で使用できます。そうすることで、「「memchr」のタイプが競合しています」というエラーが発生しました(cstring内)。

調査の結果、この問題は C と C++ のコードが混在していることが原因のようです。ただし、C++ Builder とそのコンパイラを使用している場合、GCC コンパイラに関連しているため、それを読んだ記事で提案されているソリューションを使用できません。

このエラーを解決するための解決策は何ですか?

ありがとうございました

4

1 に答える 1

2

おそらく、cstringとを混ぜて使用しstring.hます。こんなことしないで。

前者は次のように宣言しています。

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

後者はそうする

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

それらは同じタイプではありません。

于 2015-05-15T14:49:10.507 に答える