This realy simple code doesn't work. Originally I was trying to reproduce a problem with two inline classes that is named the same. In that case members from an unrelated class would be shown when completing.
template <typename t_CData>
class TCVector0
{
public:
t_CData &operator [](size_t _Index)
{
static t_CData Ret;
return Ret;
}
/*
const t_CData &operator [](int _Index) const
{
static t_CData Ret;
return Ret;
}*/
};
class CTest0
{
public:
class CKeyTest
{
public:
int m_Member0;
};
TCVector0<CKeyTest> m_Members;
};
class CTest1
{
public:
class CKeyTest
{
public:
int m_Member1;
};
TCVector0<CKeyTest> m_Members;
};
int main()
{
CTest0 Test0;
CTest1 Test1;
Test0.m_Members[0].m_; // Does not work
Test1.m_Members[0].m_; // Does not work
TCVector0<CTest0> TestVector;
TestVector[0].m_; // Works
return 0;
}