как поддерживается последняя версия VS2022 для c 22std?

#c #visual-studio #gcc #c 20

Вопрос:

Это построено и выполнено с помощью GCC 11.2, но не компилируется с VS2022 C .

 #include <concepts>
#include <limits>
#include <iostream>

// bit_width including the sign-bit
template < std::integral N > consteval 
std::size_t bit_width(N = {}) noexcept
 

с ошибкой,

 Reverse.cpp(6): Error E0135: namespace "std" has no member "integral"
 

Он работает с GCC.

Комментарии:

1. Там есть столик в cppreference.com, обратите внимание, что gcc опережает другие компиляторы. Стандартизация C 23 только началась, так что не стоит ожидать слишком многого.

2. std::integral это из C 20. Работает для меня , вы включили поддержку C 20?

3. У меня установлен только VS2019, но я знаю, что если вы хотите, чтобы был включен последний стандарт C , вам нужно зайти в настройки свойств проекта, чтобы установить его на последнюю версию. Выберите пункт меню Проект и выберите пункт Свойства. В появившемся диалоговом окне перейдите в раздел C/C -> Язык и найдите «Стандарт языка C «.

4. Спасибо, что поймали этого святого черного кота, я хотел сказать c 20, а не c 22. Я нашел пункт меню «Проект», и теперь он отлично компилируется и выполняется. Пользовательский интерфейс для VS22 значительно улучшился!