Visual Studio 2010 Intellisense заигрывает для кода C - PullRequest
9 голосов
/ 04 июня 2010

Intellisense в Visual Studio 2010 интерпретирует код C как C ++ и помечает ошибки там, где их нет, например:

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

, который является допустимым C, но не действительным C ++.

Есть ли способ это исправить?

1 Ответ

11 голосов
/ 29 июня 2010

Это известная ошибка, по крайней мере, начиная с MSVC 2005. К сожалению, она стала более серьезной в 2010 году, поскольку VC теперь использует Intellisense для маркировки ошибок.

См. это обсуждение на форумах MSDN для получения дополнительной информации. Следующее утверждение обескураживает, но я настоятельно рекомендую вам добавить свой голос к разговору в надежде, что они когда-нибудь решат проблему.

Я просто продолжаю и сообщаю, что мы не исправим эту ошибку в следующем выпуске / обновлении VS.

Если эта ошибка серьезно влияет на вашу ежедневную производительность, вы можете снова открыть / активировать эту ошибку с помощью connect.

Обратите внимание, что вы можете отключить отчеты об ошибках Intellisense в меню Инструменты → Параметры ... → Текстовый редактор → C / C ++ → Дополнительно → Intellisense → Отключить отчеты об ошибках → True Конечно, это действительно воняет, если вы находитесь в смешанном решении или просто хотите включить заголовок extern "C", который выдает ошибки Intellisense.

...