2012-10-31 48 views
0

我正在修改MSDN上的STablUpd代码示例(用于编辑资源中的字符串表),但是我遇到了一些错误。编译时出错,在代码中看不到清除错误

的错误位于代码

HSTRBLOCK strBlock = GetStringBlockW(L"file.exe", 7, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_UK)); 
UINT str1Len; 
GetStringLength(strBlock, str1Len); 
LPWSTR pszString1; 
GetStringW(strBlock, 6, pszString1); 
MessageBox(NULL, (LPCSTR) pszString1, NULL, NULL); 

而且我收到错误如下

Error 4 error C2065: 'pszString1' : undeclared identifier tabledlg.c 190 1 STablUpd 
Error 5 error C2065: 'pszString1' : undeclared identifier tabledlg.c 191 1 STablUpd 
Error 8 error C2065: 'pszString1' : undeclared identifier tabledlg.c 192 1 STablUpd 
Error 3 error C2146: syntax error : missing ';' before identifier 'pszString1' tabledlg.c 190 1 STablUpd 
Error 2 error C2275: 'LPWSTR' : illegal use of this type as an expression tabledlg.c 190 1 STablUpd 

任何人指出,如果有任何错误,在此请,我已经检查,但代码似乎对我来说很好。

任何帮助表示赞赏。

回答

1

看起来LPWSTR没有定义。要么你错过了include,要么你包含该文件,但是某些预处理器指令排除了该类型。

有关更多信息,请参阅this

+0

我有以下预处理器定义,'WIN32 NDEBUG _WINDOWS _VC80_UPGRADE = 0x0600',我无法找到有关预处理器指令的任何信息。我需要包括哪些LPWSTR才能正常工作? – Ryan