Здравствуйте, Voivoid, Вы писали:
V>Не совсем понятно о чем именно речь. А можно пример кода?
такой код рассмотрим:
constexpr std::string_view foo() {
auto p = new char[10];
p[0] = 's';
p[1] = 0;
return p;
}
Он компилируется, хотя легко понять что на этапе компиляции эту функцию не вызвать. Приходится добавлять
static_assert(foo() == "s");
с единственной целью выяснить можно ли вызвать функцию в compile-time. Хотя я уже добавил constexpr и хотел бы чтобы компилятор сам всё проверил и выдал ошибку. То есть добавление constexpr декларирует, но
не гарантирует, что функция может быть вызвана на этапе компиляции.
Этот случай простой, его легко и глазами отследить, но бывают то вещи посложнее...