0

Visual Studio 2010 でコンパイルしようとしていますが、これは正確なエラーです。

Error 65 error C2440: 'function' :
       cannot convert from 'double' to 'const wchar_t *'    

問題のある行は次のとおりです。

swprintf(subbuf[num], L"%f\0", va_arg(args, double));

これはクリーンにコンパイルされるはずなので、コードの変更はお勧めしません。これを解決する可能性のあるコンパイラ オプションがありませんか?

編集:

の宣言は次のsubbufとおりです。

#define GDB_CHAR wchar_t
GDB_CHAR subbuf[MAX_SUBS][STATUS_MSG_LEN+1] ;

また、サイズの引数については、ドキュメントページも確認しましたが、コンパイラはエラーをスローしません

swprintf(subbuf[num], L"%c\0", va_arg(args, int));

したがって、からintへの変換に問題はなくwchar_t *、関数の引数は問題ありません。

これでも十分な情報が得られない場合は、コメントして、必要な他の情報を教えてください。ありがとう

4

1 に答える 1

2

ドキュメントを一目見ただけで、関数には出力文字列のサイズを指定する引数が必要であることがわかりますが、これは省略されています。

于 2012-01-09T09:39:57.913 に答える