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的区别是啥?

如何下载microsoft visual studio

microsoft visual c++里的编译在哪里?

使用pip安装Twisted for Python:错误:Microsoft Visual Studio失败,退出状态为2

Microsoft Visual Studio 2013安装及试用

microsoft visual studio 2008找不到一个或多个组件,请重新安装应用程序 的原因都有哪些?