'function':无法从'double'转换为'wchar_t *'

时间:2012-01-09 09:35:49

标签: c visual-studio wchar-t

我正在尝试在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));

因此从int转换为wchar_t *没有问题,而且函数的参数没问题。

如果这仍然没有足够的信息,请评论并指导我到你们需要的任何其他人。 感谢

1 个答案:

答案 0 :(得分:2)

快速浏览一下documentation表明该函数需要一个参数来指定输出字符串的大小,你已经省略了它。