これは私にとっては混乱しています。私はこの割り当てが間違っているのか分からない:どのようにCでvoidポインタをcharポインタに変換しますか
void *pa; void *pb;
char *ptemp; char *ptemp2;
ptemp = (char *)pa;
ptemp2 = (char *)pb;
を、私はこのエラーを取得しています、なぜ誰も私に伝えることができます:
error: invalid conversion from ‘void*’ to ‘char*’
このコードでは、エラーは発生しません(適切なコンテキストを前提とします)。これらのコンバージョンについて無効なものは何もありません。このようなエラーは、通常、C++の 'ptemp = pa'代入(すなわち、キャスト、C++コンパイラなし)に対して生成されます。あなたはCコンパイラを使用していると主張しており、そこに明示的にキャストされています。あなたの場合、このようなエラーはありません。実際のコードを投稿してください。 – AnT
どのようなコンパイラ?それはCコンパイラであり、C++コンパイラではありませんか?あなたが持っているものは法的なCであり、C99の標準モードでは何の問題もなくgccを通過します。 –
これは奇妙なエラーメッセージです... –