Попробуйте добавить / showInclude в командную строку компилятора (в настройках проекта, Свойства конфигурации, C / C ++, Командная строка).Это выводит все заголовки, используемые в данной компиляции файла .cpp.Это не быстрый способ, но это верный путь.
Когда Intellisense не работает, я рекомендую Найти в файлах.Таким способом легче отследить определение в заголовке.Я нахожу, что обычно могу сказать, какое объявление является соответствующим.
Имейте в виду, что вы не можете найти источник в заголовке, если вы не имеете дело с шаблонами или встроенными функциями.Таким образом, как правило, нет оснований пытаться различать, какие декларации применяются.Если определение существует в файле SOURCE (.c, .cpp), то для его компиляции может быть только одна функция с таким именем и сигнатурой.Как правило, лучше использовать имя функции в Google, если это опубликованный API от Microsoft или другого источника.
Такие инструменты, как Visual Assist для Visual Studio, также улучшают возможность поиска таких определений.Кроме того, вы можете втиснуть Intellisense в работу лучше.Попробуйте удалить базу данных Intellisense и восстановить ее.Вы можете увидеть, где возникают проблемы, по «ошибкам», отображаемым в окне ошибок.Часто вам нужно улучшить каталоги include, особенно если это проект makefile.Если он затеняет код, который не должен быть серым, какой-то символ препроцессора неверен.Поддержание Intellisense часто того стоит, потому что оно прекрасно, когда оно работает.
Такие инструменты, как Visual Assist для Visual Studio, имеют свой собственный, часто улучшенный, интеллигентный метод поиска определений.