2010-06-04 110 views
9

智能感知在Visual Studio 2010中解释C代码为C++和标志,他们不存在错误,如:Visual Studio 2010的智能感知波浪线的C代码

struct my_struct *s = malloc(sizeof *s); 

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

有什么办法解决这个问题吗?

+1

这是在一个.c文件中? – OregonGhost 2010-06-04 10:49:10

+0

@OregonGhost是的。 – Artefacto 2010-06-04 11:02:38

回答

11

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

更多信息请参见this discussion at the MSDN forums。以下声明令人沮丧,但我强烈建议您将声音添加到对话中,希望他们有朝一日可以解决问题。

我只是跟进,让你知道我们不会修复这个错误在下一个VS发布/更新。

如果这个错误严重影响你的日常工作效率,你可以打开/再次激活与连接这个bug。

注意,您可以在工具→选项...→文本编辑器→C/C++→高级→智能感知→禁用错误报告→真禁用智能感知的错误报告。当然,如果您使用的是混合解决方案,或者只是想包含引发Intellisense错误的头文件,那么这真的很糟糕。

+0

如何在extern“C”块中标记整个代码?包括头文件。 – 2010-06-29 18:58:50

+0

@Chris:没关系。 Intellisense没有注意,并且直奔它......如果你有'extern'C'头文件和C++“错误,这是个大问题。” – 2010-06-29 19:17:35

相关问题