АР
Size: a a a
АР
VK
M
m
DP
template <class... Ts>
constexpr auto foo3(const Ts& ...ts) {
const void* arg = nullptr;
std::size_t(*visitor)(const void*) = nullptr;
((arg = &ts, visitor = [](const void* arg) { return F(*static_cast<const Ts*>(arg)); }, Predicate(ts)) || ...);
return visitor(arg);
}
VK
АК
DP
cast from 'const void *' is not allowed in a constant expression
АК
cast from 'const void *' is not allowed in a constant expression
DP
static_assert(foo3(-1, -1.0f, 10, true) == sizeof(int));
АК
cast from 'const void *' is not allowed in a constant expression
DP
АК
АК
std::size
обязан работать с constexpr const char*
?const char[N]
АК
char[N]
.АР
АР