27
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

プリプロセッサ条件分岐、OR条件

Last updated at Posted at 2015-03-26

プリプロセッサ定義で、
#ifdefの判定する際に、or条件を含めたかった時のこと

問題、以下の文はエラーです。

#ifdef CONDITION1 || CONDITION2

#ifdefでは、defineされてるかどうかの判定をするので検証したいマクロを渡さないといけません。
上記はOR判定結果のBooleanを評価させようとしてるので根本的に間違いだと分かります。

先輩から#ifdef#if defined()の事であり、マクロ定義の有無を判定するdefined演算子がある事を教えてもらいました。

以下のようにします。

#if defined(CONDITION1) || defined(CONDITION2)

地道に言語機能を調べていくのも大事ですね。

27
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?