Visual studio c ++, почему бы не компилировать 0b00000001

Я пытаюсь перенести небольшую программу, которую я изначально сделал для Linux. Единственное, что вызывает у меня ошибку, - это любые двоичные числа, написанные таким образом 0b01010101.

Я не могу найти никакой информации о том, почему это не работает в Windows или как я могу заставить его работать в Windows.

Разве это не стандарт в c ++?


person lasvig    schedule 17.03.2014    source источник
comment
Нет, это не стандарт. Это расширение GCC.   -  person Ian Cook    schedule 17.03.2014
comment
Это часть C ++ 14, и MSVC еще не реализовал эту часть. FWIW, Clang работает в Windows и Linux, и эта функция реализована в -std=c++1y.   -  person chris    schedule 17.03.2014
comment
Это будет функция C ++ в C ++ 14.   -  person juanchopanza    schedule 17.03.2014
comment
См. stackoverflow.com/questions/699781/c-binary-constant-literal, чтобы использовать небольшие двоичные константы в старых компиляторах.   -  person Mark Ransom    schedule 17.03.2014


Ответы (1)


В настоящее время это не сработает.

Это будет новая функция C ++ 14. Числовые литералы в C ++ 14 можно указывать в двоичной форме. В синтаксисе используются префиксы 0b или 0B.

person herohuyongtao    schedule 17.03.2014
comment
Предварительная версия Visual C ++ 2015 поддерживает двоичные литералы C ++ 14: visualstudio.com/news/ vs2015-preview-vs # C ++ - person Meng-Yuan Huang; 13.11.2014