It seems that VA X is having problems understanding similar looking (partial and explicit) template specializations
template<class T> struct A;
struct B { int apple; };
struct C { int banana; };
template<> struct A<int>
{
void func()
{
B var;
}
};
template<> struct A<float>
{
void func()
{
C var;
var. // #1
}
};
After typing the code at #1, it comes up with a listbox containing the members of B rather than C (so it shows 'apple'). This is 100% reproducable as long as both specializations contain the same functions and the same variable name but with different types. If I rename 'var' in A<float>::func to 'var2', it does show 'banana' as expected.