我有两个班级,Class A
和class B
。我的代码写在下面。我收到的错误是我最后提到的。
class A
{
Private:
B Labels
....
....
};
A::method()
{
Labels.add (label_mark);
....
....
}
A::save()
{
....
....
for (int i = 0; i < Labels.size (); i++)
{
const B& Labels = Labels[i]; //GETTING ERROR HERE
fprintf (file,"%d\n",
i + 1,
Labels.timestamp.toString ("%H:%M:%S").c_str (),
}
}
我收到错误
error: no match for ‘operator[]’ in ‘Labels[i]’
答案 0 :(得分:2)
您正在隐藏B
的名称:
const B& Labels = Labels[i];
执行此操作时,RHS上的Labels
为const B&
,且没有operator[]
。
您需要选择其他名称:
const B& foobar = Labels[i];