c
1 2#define aaa ((uint32)0x1000) 3 4#define bbb (aaa/50) 5#if bbb > 0 && bbb < 100 6ppp.h 7 8#define ccc (1) 9#elif bbb >200 10#define ccc (2) 11#else 12#error レジスタの初期値を確認せよ 13#endif 14
#ifでキャストを使用していることによるコンパイルエラーが発生します。
aaaの定義値を変えることなくコンパイルエラーを回避できないでしょうか?
エラーメッセージを提示しましょう。
#if bbb > 0 && bbb < 100を置き換えて#if (aaa/50) > 0 && (aaa/50) < 100で、
#if (((uint32)0x1000)/50) > 0 && (((uint32)0x1000)/50) < 100・・・こうなりますが?
何がしたいんでしょう?
また、ppp.hは何でしょうか?
aaaは可変です。レジスタの初期値です。
エラーメッセージは改変せずにそのまま貼り付けて下さい
プリプロセッサはコンパイル前処理です、レジスタ値が反映されるとは思えませんが?
そもそも、環境すら提示しないでレジスタも何もあったもんじゃないです。
回答3件
あなたの回答
tips
プレビュー