In when using VAssistX in c++ this is parsed badly:
class A
{
class B
{
protected:
A *m_data;
public:
virtual void Run() {}
};
class C: public class B
{
public:
virtual void Run();
};
unsigned char *m_data;
public:
void Test() {}
};
void A::C::Run()
{
m_data->Test();
}
The last m_data is parsed as A::m_data which is an unsigned char instead of B::m_data which is a pointer to an object of type A. This causes Test() to be underlined with red and no intellisense on m_data. Strangely the tool tip for the item knows it is A::B::m_data and is of type A*