Я пытаюсь изучить новые функции / уловки c ++ 17, но потом я попал в std :: byte, и по какой-то неизвестной причине я не могу скомпилировать даже самый простой «привет мир»наберите программу с типом.
вся программа:
#include <cstddef>
int main(int argc, char* argv[])
{
std::byte byte;
return 0;
}
команда компиляции:
g++ ./main.cpp
Но вывод всегда:
./main.cpp: In function ‘int main(int, char**)’:
./main.cpp:4:10: error: ‘byte’ is not a member of ‘std’
std::byte byte;
Я работаю на Ubuntu 18.04 с gcc 7.4.0.Я проверил "/usr/include/c++/7.4.0/" и заголовочный файл cstddef там, и байт, кажется, определен.
Я также пытался использовать clang:
clang++ ./main.cpp
Но результат был тот же.На данный момент я могу только думать, что cstddef поврежден / прослушивается.Есть ли какие-то решения для этого?