C言語関係掲示板

過去ログ

No.422.ANSI C++ forbids implicit conversion from `void *' in argument passing

[戻る] [ホームページ]
No.2931

エラーメッセージ
投稿者---乃(2002/10/12 16:28:39)


ANSI C++ forbids implicit conversion from `void *' in argument passing
どなたかこのエラーの意味を教えて下さい
お願いします

No.2932

Re:エラーメッセージ(void*からの暗黙(implicit)の型変換)
投稿者---kikk(2002/10/12 21:18:56)


ども。


えと、コードはC++ではなくCでしょうか?

> ANSI C++ forbids implicit conversion from `void *' in argument passing

コンパイラが言ってることは、メッセージの通りです。Cではvoid*から
他のポインタ型へのキャストは不要(明示的(explicit)にしてもよい)ですが
C++では必須なので、そのように言われます。これは、C++がCの完全な上位
互換になっていない例の1つです。

たぶん、使っているコンパイラがC/C++コンパイラで、ソースコードを
CではなくC++と認識しています。たいていのコンパイラはソースの拡張子で
判別しているので、まずそれをチェックしてみてください。それか、
Cとしてコンパイルするオプションがあればそれを使ってもよいかと。
あるいは、CかC++かを意識するのがめんどうならば、void*からの型変換は
つねにキャストするのもいいかもしれません。


では。

No.2936

エラーメッセージ
投稿者---乃(2002/10/14 17:38:39)


有り難うございます
Cでコンパイルして解決しました