Это
особенность работы IntelliSense в Visual Studio. Более того, если в коде
template<typename T>
struct Outer {
struct Node {
int data;
};
void foo() { node.data; }
Node node;
};
навести курсор на data внутри функции foo, скорее всего, получим подсказку
<unknown> Outer<T>::Node::data
, где unknown - тип, который не удалось вывести.
IntelliSense позволяет подставить в шаблонный параметр значение конкретного типа. Для этого значение опции Template IntelliSense: Tools > Options > C/C++ > Advanced > IntelliSense > Enable Template IntelliSense должно быть true. Демонстрация работы функции:
1,
2,
3.
Для заданной подстановки IntelliSense сгенерирует у себя экземпляр шаблонного класса, и подсказки будут работать как в случае с не шаблонным.