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