Отсутствие intellisense с синтаксисом прямой инициализации в Visual Studio 2013

71
7

Когда я печатаю

Widget w = Widget(

intellisense автоматически дает всплывающее окно, где я могу перемещаться по доступным конструкторам. Где, как будто я печатаю

Widget w(

Я не получаю такого всплывающего окна. Также не вызывает ярлык (Ctrl + Shift + Space). Я попытался сбросить настройки, но это не помогло. Кто-нибудь знает, предназначено ли это поведение или если оно исправляется?

спросил(а) 2014-03-27T16:18:00+04:00 6 лет, 8 месяцев назад
1
Решение
59

Widget w(... может быть началом разных вещей, например, определение объекта с именем w (что похоже на то, что вы хотите), но также объявление функции w, возвращающее Widget. Это может быть причина, по которой intellisense отказывается работать.

Для С++ 11 (который поддерживается VS2013 IIRC) вы также можете попробовать равномерную инициализацию:

Widget w{...

или даже новый "авто" стиль, предложенный Хербом Саттером и другими:

auto w = Widget{...

ответил(а) 2014-03-27T16:25:00+04:00 6 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема