#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 значительно улучшился!