Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 分配C+中元素的地址时出错+;_C++ - Fatal编程技术网

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的吗?我已经更新了大量相关代码…请看一看