2016-10-31 9 views
0

私はヘッダの始めに定義し、最後にundefというマクロを持っています。しかし、マクロ(私はそれをfooと呼ぶでしょう)は別のマクロに依存します(私はそれをtestと呼ぶでしょう)。私はfooの値が覚えているかどうか疑問に思っていました。私の最初のアイデアは、これは明らかに動作しません、次のようました:未定義になる前にマクロを展開する

#define foo test 
#define bar foo 
#undef foo 

... 
bar 
... 

bartestに展開最後になるように作成する方法はありますか?

+3

AFAIKこれはできません。 [XY問題](http://xyproblem.info/)のようなものです。 –

+1

'#define bar test'? – StoryTeller

+0

@MichaelWalz私は実際の問題を解決する方法を見つけ出すことができます。私は実際にこの質問の答えに興味があります。 – martinkunev

答えて

1

いいえ、できません。

マクロは、プログラミングトークンストリームに挿入された時点でのみ展開されます。これらは、#defineの前処理ディレクティブでは展開されません。

関連する問題