2016-07-06 14 views
0

マクロ:変数名の真中のマクロ引数?

#define TESTMACRO(name, exc) void* jt_name[exc];int jtix_name = 0; 

例:?

TESTMACRO(testname, 2) 

void* jt_name[2];int jtix_name = 0; 

どのように私はそれが代わりにjt_testnameを言う作ることに変換

名前の前にハッシュタグ(#)を使ってみましたが、それは私が望んだことをしませんでした。空白を持つことは、中間の変数名なのでオプションではありません。

答えて

3

連結演算子(##)してみてください:

#define TESTMACRO(name, exc) void* jt_ ## name[exc];int jtix_ ## name = 0;

関連する問題