https://godbolt.org/z/931xaey45
Код: Выделить всё
#include
template
class Optional
{
public:
~Optional() requires (!std::is_trivially_destructible_v);
};
#include
int main()
{
const char* bool_value[] = {"false", "true"};
bool is_trivial = std::is_trivial_v;
bool is_trivial_destructable = std::is_trivially_destructible_v;
std::printf("std::is_trivial_v = %s\n", bool_value[is_trivial]);
std::printf("std::is_trivial_destructable = %s\n", bool_value[is_trivial_destructable]);
}
< /code>
output: < /p>
std::is_trivial_v = false
std::is_trivial_destructable = false
Q: Почему ~ Необязательный () требует (false) .>
Подробнее здесь: https://stackoverflow.com/questions/672 ... ates-to-fa