operator[](UINT index) 的有关问题

operator[](UINT index) 的问题
我有一个结构体
    typedef struct STRUCT_SAVE_CONFIG
    {
    private:
        char szPushUrl[50];

    public:
        STRUCT_SAVE_CONFIG() { ZeroMemory(szPushUrl, sizeof(szPushUrl));  }

        const CString   GetPushUrl()   const { return CString(szPushUrl);   } 
    }STRUCT_SAVE_CONFIG;


在 CSiteManager 类中定义了一个
std::vector<STRUCT_SAVE_CONFIG> m_SiteManager;


然后重载
public:
    STRUCT_SAVE_CONFIG& operator[](UINT index) { return m_SiteManager[index]; }


我在外部调用
        CSiteManager* siteManager = CSiteManager::GetInstance();
        CString csPushUrl = siteManager[0].GetPushUrl();


出现错误
1>.\Push\XmlRpc.cpp(31) : error C2039: “GetPushUrl”: 不是“CSiteManager”的成员
------解决方案--------------------

    typedef struct STRUCT_SAVE_CONFIG  //  结构体实名
    {
           /*.....................*/
    }STRUCT_SAVE_CONFIG;  // 结构体的别名

结构体的实名和typedef类型别名一样了

如果你想定义一个类型别名,应该这样:

    typedef struct
    {
           /*.....................*/
    }STRUCT_SAVE_CONFIG;  // 结构体的别名

------解决方案--------------------
    typedef struct   _STRUCT_SAVE_CONFIG
    {
    private:
        char szPushUrl[50];

    public:
        STRUCT_SAVE_CONFIG() { ZeroMemory(szPushUrl, sizeof(szPushUrl));  }

        const CString   GetPushUrl()   const { return CString(szPushUrl);   } 
    }STRUCT_SAVE_CONFIG;

加个下划线试试