c++ builder XE4, 10.2 Tokyo > 0b0001でコンパイルエラー > E2293) が必要
2193 ワード
動作確認
C++ Builder XE4
Rad Studio 10.2 Tokyo Update 2 (追記: 2017/12/27)
ideoneで動作するコード
http://ideone.com/r0lfwl
#include <stdio.h>
#include <stdint.h>
#define ALERT1_CHECK (0b0001)
#define ALERT2_CHECK (0b0010)
#define ALERT3_CHECK (0b0100)
#define ALERT4_CHECK (0b1000)
int main(void) {
uint8_t ret = 0;
ret |= ALERT1_CHECK;
ret |= ALERT2_CHECK;
ret |= ALERT3_CHECK;
ret |= ALERT4_CHECK;
printf("%x\n", ret);
return 0;
}
これをXE4で実装しようとすると
ret |= ALERT1_CHECK;
の4行で
E2293)が必要
となる。
#define ALERT1_CHECK (0b0001)
を
#define ALERT1_CHECK (0x1)
のように2進表記から16進表記にすると上記のエラーは発生しない。
2進表記の扱いが特殊なのだろうか?
時間がないので調査は保留。
(追記 2016/08/17)
E2141 Declaration syntax error
というエラーも出た。
Author And Source
この問題について(c++ builder XE4, 10.2 Tokyo > 0b0001でコンパイルエラー > E2293) が必要), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/eae06dfd76e15ee2ca7c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .