by GCC for wandbox.
#include <iostream>
#include <cstdlib>
#include <functional>
template<typename ... TBases>
struct Holder: public TBases ...
{
std::function<void()> member;
};
struct A
{
void foo()
{
}
};
struct B
{
void bar()
{
}
};
int main()
{
Holder<A,B> test;
test.member = { []{ std::cout << "Hello, Wandbox!" << std::endl; } };
return 0;
}
Есть вот такая штука. Как можно вызывать member и из A и из B?
CRTP?
привести this к наследнику
Обсуждают сегодня