我有这样的事情:
class Container1 {
public:
method1() { ... }
}
class Container2 {
public:
method1() { ... }
}
template<class C = Container1>
class X : public C {
public:
using C::method1();
.....
X(string& str) : C(str) {};
X& other_method() { method1(); ...; }
}
我的问题是为什么我必须使用“使用 C::method1()”才能访问该方法。我找到的大多数答案都是针对模板类继承模板类的情况。通常他们会提到使用“this->”,但这在这种情况下似乎不起作用。我可以做一些更短的...
另外我怀疑我遇到的另一个错误与同一问题有关:
no match call for (X<Container1>) (<std::string&>)