operator[](UINT index) 的有关问题
operator[](UINT index) 的问题
我有一个结构体
在 CSiteManager 类中定义了一个
然后重载
我在外部调用
出现错误
1>.\Push\XmlRpc.cpp(31) : error C2039: “GetPushUrl”: 不是“CSiteManager”的成员
------解决方案--------------------
结构体的实名和typedef类型别名一样了
如果你想定义一个类型别名,应该这样:
------解决方案--------------------
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;
加个下划线试试
我有一个结构体
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;
加个下划线试试