Visual Studio 2010 Intellisense对C代码进行了波动

Art*_*cto 9 c intellisense visual-studio-2010

Visual Studio 2010中的Intellisense将C代码解释为C++,并将错误标记为不存在,如:

struct my_struct *s = malloc(sizeof *s);
Run Code Online (Sandbox Code Playgroud)

这是有效的C,但不是有效的C++.

有没有什么办法解决这一问题?

Mat*_* B. 11

这至少是自MSVC 2005以来的一个已知错误.不幸的是,它已成为2010年的一个更大的问题,因为VC现在使用Intellisense来标记错误.

有关详细信息,请参阅MSDN论坛中的此讨论.以下陈述令人沮丧,但我强烈建议您将您的声音添加到对话中,希望有一天他们可以解决问题.

我只是跟进并告诉您我们不会在下一次VS发布/更新中修复此错误.

如果此错误严重影响您的日常生产力,您可以再次连接打开/激活此错误.

请注意,您可以在工具→选项...→文本编辑器→C/C++→高级→智能感知→禁用错误报告→True中禁用智能感知的错误报告.当然,如果您处于混合解决方案中,或者只是想要包含extern "C"引发Intellisense错误的标头,这确实很糟糕.