2 kbhao7788 kbhao7788 于 2017.01.08 17:18 提问

c++ operator[] 问题怎么办
c++

#include

using namespace std;
#include
struct ho
{
int math;
char jiu;
};
struct hao
{
CList list;
int operator
{
int u = 0;
POSITION pos = list.GetHeadPosition();
while (pos)
{
ho dat=list.GetAt(pos);
if (h == u)
{
return dat.jiu;
}
list.GetNext(pos);

    }
}
void add()
{
    ho di;
    cin >> di.jiu >> di.math;
}

};
int main()
{

hao h;
h.add();

cout << h[0] << endl;

}

调试时说:
h[0] 没有与这些操作数匹配的“[]”运算符怎么回事求大神解救一下

4个回答

ai977313677
ai977313677   2017.01.08 18:16

你是想做什么?你也没有重载这个操作符指定运算,也没有创建h为数组,指针,怎么可以这样使用[]?

ai977313677
ai977313677 直接cout<<h;应该就好了,感觉你并不需要创建一个数组。
11 个月之前 回复
kbhao7788
kbhao7788 那怎么改代码怎么写谢谢谢谢
11 个月之前 回复
sum_TW
sum_TW   2017.01.08 18:52

看下我的博客,里面有重载[]运算符的。

qi_700
qi_700   2017.01.08 22:32

应该是需要运算符重载的

a29562268
a29562268   2017.01.09 07:54

h对象属于数组对象,或者用重载运算

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!