2011-07-13 89 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中