operator[] 的疑难
typedef struct tagMYSTRUCT{ int nTest1; int nTest2;} MYSTRUCT, *LPMYSTRUCTclass CMyClass{public: CMyClass(); ~CMyClass(); MYSTRUCT *operator[](INT_PTR nIndex) const; MYSTRUCT &operator[](INT_PTR nIndex);protected: MYSTRUCT *m_pData;};// 实现MYSTRUCT *CMyClass::operator [](INT_PTR nIndex) const{ return &m_pData[nIndex];}MYSTRUCT &CMyClass::operator [](INT_PTR nIndex){ return m_pData[nIndex];}// 下面是调用CMyClass *myClass;myClass = new CMyClass();/* 这里做一些工作,使得 CMyClass::m_pData 包含有数据 */if (myClass[x].nTest2 == 100) // 这里提示出错,error C2039: 'nTest2' : is not a member of 'CMyClass'{ // ......}