У меня есть следующий код:
#include <iostream>
class A;
int main()
{
std::cout << std::is_constructible<A>::value << std::endl;
}
Когда я использую GCC 8.3, этот код компилируется. Однако, когда я использую Clang 8.0, я получаю ошибку компиляции, что неполные типы не могут быть использованы в чертах типа.
Который правильный? Могу ли я использовать is_constructible
для неполного типа (с ожидаемым значением false
) или мне нельзя?