I detected a serious bug when using the VAX-IntelliSense (the original IntelliSense lists nothing here).
The VAX parser seems to fail on the class symbol CCircuitInput which is uses for a CArray<> and exists as sub class in the two classes with the same name. If I rename the first occurence to CCircuitInputGeo the parser does it right. As well the method of the CNormalClass is listet right.
I think this is a heavy problem that should be fix as soon as possible. This error can be very confusing and we need the IntelliSense in this kind of use very often in our code.
Many thanks from Southern Germany.
[h-File]
//////////////////////////////////////////////////////////////////////////
// First class with internal class
class CTestDataGeo
{
protected:
class CCircuitInput
{
public:
int m_iLength;
};
public:
typedef CArray<CCircuitInput, CCircuitInput&> CArrayCircuitInput;
//class CCircuitArray : public CArray<CCircuitInput, CCircuitInput&>
class CCircuitArray : public CArrayCircuitInput
{
};
class CNormalClass : public CCircuitInput
{
};
public:
CCircuitArray m_Circuit;
};
//////////////////////////////////////////////////////////////////////////
// Second class with internal class
class CTestDataThermo
{
protected:
class CCircuitInput
{
public:
static int m_iTemperature;
};
public:
typedef CArray<CCircuitInput, CCircuitInput&> CArrayCircuitInput;
//class CCircuitArray : public CArray<CCircuitInput, CCircuitInput&>
class CCircuitArray : public CArrayCircuitInput
{
};
class CNormalClass : public CCircuitInput
{
};
public:
CCircuitArray m_Circuit;
};
void IntelliTest();
[cpp-File]
void IntelliTest()
{
CTestDataGeo geo;
CTestDataThermo thermo;
geo.m_Circuit[0].| //will list m_iTemperature here what is wrong!!
geo.m_Class.| //will list m_iLength here what is right.
//thermo.m_Circuit[0].| //will list m_iTemperature what could be luck
}
VA_X.dll file version 10.3.1559.0 built 2007.07.06
Licensed to:
VA X: [email protected] (6-user license) Support ends 2008.05.15
VAOpsWin.dll version 1.3.2.4
VATE.dll version 1.0.5.8
DevEnv.exe version 7.10.3077.0
msenv.dll version 7.10.3077.0
Font: Courier New 13(Pixels)
Comctl32.dll version 5.82.2900.2982
Windows XP 5.1 Build 2600 Service Pack 2
Single processor
Platform: Win32
Stable Includes:
C:\\Programme\\Microsoft Visual Studio .NET 2003\\Vc7\\include;
C:\\Programme\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\include;
C:\\Programme\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include\\prerelease;
C:\\Programme\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include;
C:\\Programme\\Microsoft Visual Studio .NET 2003\\SDK\\v1.1\\include;
[...]
Library Includes:
C:\\Programme\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\mfc;
C:\\Programme\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\atl;
C:\\Programme\\Microsoft Visual Studio .NET 2003\\Vc7\\crt\\src;
Other Includes: