A
Size: a a a
A
d
DR
struct Mother
{
virtual void f() {}
};
struct Father
{
virtual void g() {}
};
struct Child : Mother, Father
{
};
В памяти объект типа Child будет таким: [Mother::vptr][Father::vptr].d
DP
DR
d
DR
C
DR
DP
d
DR
DP
DP
DR
G
template <typename S, typename... Handlers>....
auto makeTokenBuilder(Handlers&&... h)
{
return TokenBuilder<S, std::decay_t<Handlers>...>{std::forward<Handlers>(h)...};
}
auto tokenBuilder = makeTokenBuilder<std::tuple<BuildHeader, BuildPayload, BuildSignature>>Но когда я хочу получить тип переменной tokenBuilder(делаю это так using Type = decltype(tokenBuilder);), то получаю ошибки типа:
(
[](BuildHeader& s, GetHeader event) -> TransitionTo<BuildPayload>
{
return {};
},
[](BuildPayload& s, GetPayload event) -> TransitionTo<BuildSignature>
{
return {};
},
[](BuildSignature& s, GetSignature event)
{
}
);
SS
SS
SS