MCVE ниже проверяет, поддерживает ли компилятор (g ++ 10) интервалы, но дает неправильный ответ.
#ifndef __cpp_lib_span
#warning "This compiler does not support spans."
#endif
#include <span>
int main(void)
{
int i[10];
std::span s(i);
return 0;
}
Он печатает предупреждение (ниже), но затем продолжает загрузку <span>
и используйте промежутки. Кажется, что интервалы работают нормально и в менее минималистичных программах. g ++ прекрасно понимает, что он поддерживает концепции (__cpp_concepts
). Я что-то делаю не так, или я обнаружил ошибку компилятора?
main.cpp:2:2: warning: #warning "This compiler does not support spans." [-Wcpp]
2 | #warning "This compiler does not support spans."