Microsoft Visual Studio 2012 RC C++ IntelliSense 错误
Posted
技术标签:
【中文标题】Microsoft Visual Studio 2012 RC C++ IntelliSense 错误【英文标题】:Microsoft Visual Studio 2012 RC C++ IntelliSense errors 【发布时间】:2012-07-19 14:27:43 【问题描述】:我是 C++ 新手(我来自 php),在我最初的几个项目中,我遇到了一些来自 IntelliSense 的错误。调试窗口说的是:
IntelliSense:“const char *”类型的参数与“LPCWSTR”类型的参数不兼容 c:\C++\RenderEngine\RenderEngine\engine.c
当我运行那个简单的代码时甚至会出现这个错误:
#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
MessageBox(NULL, "Hello, world!", "Simple pop-up", MB_OK);
return 0;
但是,如果我在引号 ( L"Hello, world!" ) 前加上“L”,错误就会消失。是否有可能以任何不同的方式摆脱它? (我正在关注的教程没有前面的 L,所以这对我来说很困惑......)我一直在寻找互联网,但我没有发现任何有用的东西......对不起,如果有这样的问题已经回答了,只是我没看到...
真诚地, 阿明·马科维克。
【问题讨论】:
【参考方案1】:错误是因为您在需要宽字符字符串的地方使用 8 位字符字符串。引号中的字符串常量是一个 ASCII(8 位)字符串,在它前面加上 L,比如 L"A string constant" 表示它是一个 wchar_t 字符串。
像你一样解决它,通过将环境属性设置为始终使用 wchar_t 字符串是解决它的一种方法,但如果你这样做,它不会在其他任何地方编译。通常最好以可移植的方式来做,只需通过以 L 开头的字符串文字来使用 wchar_t 字符串。
【讨论】:
【参考方案2】:设法通过以下方式解决它: “Project->(Project name) Properties->Configuration Properties->General->Character Set”设置为多字节字符集
【讨论】:
以上是关于Microsoft Visual Studio 2012 RC C++ IntelliSense 错误的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Visual C++与Visual Studio的区别是啥?
使用pip安装Twisted for Python:错误:Microsoft Visual Studio失败,退出状态为2