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] ;

另外,关于 size 参数,我还检查了文档页面,但是,编译器不会抛出错误

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

所以从intto转换没有问题,wchar_t *函数的参数也没问题。

如果这仍然没有足够的信息,请发表评论并将我定向到你们需要的任何其他人。谢谢

4

1 回答 1

2

快速浏览一下文档会发现该函数需要一个参数来指定输出字符串的大小,而您已将其省略。

于 2012-01-09T09:39:57.913 回答