Visual Studio 2010 Intellisense对C代码进行了波动
Visual Studio 2010中的Intellisense将C代码解释为C ++,并将错误标记为不存在,如:
struct my_struct *s = malloc(sizeof *s);
这是有效的C,但不是有效的C ++。
有没有什么办法解决这一问题?
这是至少自MSVC 2005以来的一个已知错误。不幸的是,它已成为2010年的一个更大的问题,因为VC现在使用Intellisense来标记错误。
有关详细信息,请参阅MSDN论坛中的此讨论 。 以下陈述令人沮丧,但我强烈建议您将您的声音添加到对话中,希望有一天他们可以解决问题。
我只是跟进并告诉您我们不会在下一次VS发布/更新中修复此错误。
如果此错误严重影响您的日常生产力,您可以再次连接打开/激活此错误。
请注意,您可以在工具→选项…→文本编辑器→C / C ++→高级→智能感知→禁用错误报告→真实中禁用智能感知的错误报告。 当然,如果您处于混合解决方案中,或者只是想包含一个引发Intellisense错误的extern "C"
标头,这真的很糟糕。