マクロ関数を定義する前に、それがまだ存在しないことを確認できます
(これにより、以前の定義が上書きされるのを回避できます)。
次のようにチェックと定義を実装できます。
#ifndef MACRO(X)
#define MACRO(X) FUNCTION(X)
#endif
またはこのように:
#ifndef MACRO
#define MACRO(X) FUNCTION(X)
#endif
関数が既に定義されている場合、どちらも機能するように見えます。
それで、どれが正しいですか?どちらが好ましいですか?