2011-07-13 85 views
1

所示的错误:如何解决Visual Studio 2005中的错误C2664 _vswprintf_c_l错误?

Error 11 error C2664: '_vswprintf_c_l' : cannot convert parameter 4 from 'void *' to '_locale_t' C:\Program Files\Microsoft Visual Studio 8\VC\include\swprintf.inl 41 

它定位在文件级C:\Program Files\Microsoft Visual Studio 8\VC\include\swprintf.inl这是系统文件我想。那么,如何解决?

平台:Visual Studio 2005中 版本8.0.50727.762

+0

这听起来像可以发生您忘记了传递区域设置参数。 – leppie

+0

这是完整的错误信息吗?这个错误可能在你的代码中。你可以在发生错误的地方添加代码。如果VS没有指向你的代码中的特定行,它必须位于正在编译的某个地方的文件中,你可以调用_vswprintf_或类似的函数。 – Codo

回答

3

我也看到了在我处理的是一个代码这个问题。 问题是stdlib.h被包含在一个本地头之后,这可能包含了一些其他的c或C++头文件。

错误的顺序:

#include "someheaderofmine.h"//includes several other headers 
#include <stdlib.h> 

只是扭转了包括顺序固定我的问题:

#include <stdlib.h> 
#include "someheaderofmine.h" 

似乎是同样的问题,如果你正在使用string.h中