C ++ Intellisense показывает ошибки со структурированными привязками, но код компилируется - PullRequest
0 голосов
/ 11 мая 2019

Я давно работаю с VS, и, на мой взгляд, это хорошая IDE, но иногда intellisense ломается и сообщает о несуществующих ошибках.Обычно они исчезают через некоторое время или после восстановления кеша intellisense, но на этот раз кажется, что он застрял.Изображение того, как это выглядит в моей IDE: (это VS2017)

Intellisense errors

При наведении курсора на имена как «положение», я получаю сообщения вроде:class "Saturn::Components::Transform" has no member named "position", хотя он, очевидно, есть, что становится ясно при компиляции кода, который работает просто отлично.

Я уже некоторое время менял настройки везде и не знаю, как это исправить.,Любая помощь с благодарностью!

1 Ответ

2 голосов
/ 11 мая 2019

Насколько я знаю, IntelliSense подается из внешнего интерфейса компилятора (на основе EDG ), чем тот, который использует компилятор Visual C ++.Таким образом, время от времени случаются расхождения между тем, что IntelliSense считает допустимым кодом, и тем, что компилятор Visual C ++ примет, когда ваш код фактически скомпилирован.Например, когда Visual C ++ добавляет новые экспериментальные функции, IntelliSense часто еще не обновляется, чтобы узнать о них и пометить соответствующий код как ошибочный.Это также идет другим путем , так как интерфейс EDG, по крайней мере исторически, имел гораздо лучшее соответствие стандарту, чем Visual C ++, поэтому может случиться, что IntelliSense сочтет определенный код допустимым, тогда как Visual C ++, когда вы на самом делекомпилирует код, жалуется (это значительно улучшилось по сравнению с последними двумя версиями Visual C ++, хотя, как видно, это происходит все реже и реже).Кроме того, у каждого из этих интерфейсов есть свой собственный набор ошибок…

Скорее всего, что происходит с вашими структурированными привязками, так это то, что IntelliSense в используемой версии VS 2017 просто не поддерживаетструктурированных привязок пока нет.Насколько я помню, это было проблемой, когда они вводили эту функцию в VS 2017 Update 3 (или примерно в то же время).Возможно, вы захотите обновить вашу VS 2017 до более поздней версии, поскольку я не могу воспроизвести эту проблему с текущей VS 2017 (версия 15.9.11) здесь…

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...