2 kbhao7788 kbhao7788 于 2017.01.09 09:46 提问

c++ operator[ ]下标符号问题怎么解决求代码

#include

using namespace std;
#include
struct ho
{
int math;
char jiu;
};
struct hao
{

CList<ho> list;
char operator[](int h)
{
    POSITION pos=list.GetHeadPosition();
    int u = 0;
    while (pos)
    {
        ho dar = list.GetAt(pos);
        if (u == h)
        {
            return dar.math;
        }
    }
}
void add(ho l)
{
    list.AddHead(l);

}

};
int main()
{
ho hm;
hm.jiu = 'l';
hm.math = 'd';
hao h;
h.add(hm);
h[0];
cout << h[0] << endl;
return 0;
}

调试时可以输出h[0]是d
但是它会显示没有与这些操作数匹配的“[]”运算符

求详细代码

2个回答

VisualEleven
VisualEleven   Ds   Rxr 2017.01.09 10:27

你这里又不是数组,又没有重载[]操作符

kbhao7788
kbhao7788 怎么改谢谢
11 个月之前 回复
shen_wei
shen_wei   Ds   Rxr 2017.01.10 16:26
Csdn user default icon
上传中...
上传图片
插入图片