我有一个vector c_<class A * >;
在某个类中声明为私有的 Vector。该向量包含指向 A 的子类的指针。例如:
some_class::func {
c_.push_back (new A2); // same as A1.
c_.push_back (new A1); //A1 is subclass : class A1 : public A;
(c_.back()->methode1(); //returns a reference of A1's private member x_ for example
}
我得到的错误是:在A类中没有定义这样
的方法。当然,它在A类中没有被清除,它在A1类中声明。我看到的方式是c_.back
获取向量 c_ 中的最后一个元素。这是一个指向 A1 类的指针,因此我使用:-> 取消引用它,并在指针指向的类中调用 methode1() (A1)。但我得到一个错误,但我不知道哪里出错了。