私は次のcコードを持っています:
#define ASSERT_ACTIVE(active) do { if (!active) return errno = 6, -1; } while (0);
#define errno (*_errno())
int someCrazyFunc (bool active) {
ASSERT_INACTIVE (active);
...
}
私の知る限り#define
、指定された識別子の代わりに置換テキストを配置するだけです。
私は知りたい:
- とはどういう
return errno = 6, -1;
意味ですか? 1 つの return ステートメントで 2 つの値を返すということですか? - 交換コードの意味は何ですか
(*_errno()) = 6