Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //I have a template class that inherits from a base class.
- template<class Buff2>
- class ClassA
- {
- protected:
- shared_ptr<Buff2> buf2_container;
- public:
- ClassA(shared_ptr<Buff2> buff2) : buf2_container(buff2) { }
- template <class Buff, class Buff2>
- class ClassB : public ClassA<Buff2>
- {
- private:
- shared_ptr<Buff> buf_container;
- public:
- ClassB(shared_ptr<Buff> buff, shared_ptr<Buff2> buff2) : ClassA(buff2), buf_container(buff) { }
- // And here's the call ...
- b2 = std::make_shared<MyBuffer >();
- // ...
- b1 = std::make_shared<special_buffer <std::pair<no_t, ABData>>>(b2_sz);
- ClassB<special_buffer <std::pair<no_t, ABData>>, MyBuffer > buf(b1, b2);
- /*
- error: class 'ClassB<Buff, Buff2>' does not have any field named 'ClassA'
- shared_ptr<Buff2> buff2) : ClassA(buff2),
- */
Advertisement
Add Comment
Please, Sign In to add comment