3,881
社区成员
发帖
与我相关
我的任务
分享
typedef struct tagMYSTRUCT
{
int nTest1;
int nTest2;
} MYSTRUCT, *LPMYSTRUCT
class 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'
{
// ......
}