C++ 分配C+中元素的地址时出错+;
我有两个班,C++ 分配C+中元素的地址时出错+;,c++,C++,我有两个班,A类和B类。我的代码写在下面。我得到了一个我在最后提到的错误 class A { Private: B Labels .... .... }; A::method() { Labels.add (label_mark); .... .... } A::save() { .... .... for (int i = 0; i < Labels.size (); i++)
A类
和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 (),
}
}
A类
{
私人:
B标签
....
....
};
A::方法()
{
Labels.add(label\u标记);
....
....
}
A::save()
{
....
....
对于(inti=0;i
我收到一个错误
错误:标签[i]中的“operator[]”不匹配
您正在此处隐藏您的B
的名称:
const B& Labels = Labels[i];
执行此操作时,RHS上的标签
是一个常量B&
,并且没有运算符[]
您需要选择一个不同的名称:
const B& foobar = Labels[i];
hazmatLabels定义为正常变量(非指针类型)因此,您得到了这个编译错误。LandmarkList定义为什么?我正在为另一个文件使用类似的代码…并且工作正常。您可以展示您的类HazMatDetector是如何创建hazmatLabels的吗?我已经更新了大量相关代码…请看一看