我有一个t_vec
存储对 class 实例的引用的向量Too
。代码如下所示。在 中main
,我有一个向量 t_vec_2,它的内存地址与B::t_vec
.
但是当我尝试访问 t_vec_2[0].val1 时,它给出了错误val1 not declared
。
你能指出什么是错的吗?另外,如果您知道从方法返回向量的更好方法,请告诉我!提前致谢。
class Too {
public:
Too();
~Too(){};
int val1;
};
Too::Too(){
val1 = 10;
};
class B {
public:
vector<Too*> t_vec;
Too* t1;
vector<Too*>& get_tvec();
B(){t1 = new Too();};
~B(){delete t1;};
};
vector<Too*>& B::get_tvec(){
t_vec.push_back(t1);
return t_vec;
}
int main(){
B b;
b = B();
vector<Too*>& t_vec_2 = b.get_tvec();
// Getting error
std::cout << "\n val1 = " << t_vec_2[0].val1;
return 0;
}