アイデアは、指定されたプレフィックスと番号に基づいて変数へのポインターを貼り付ける自動キャスターを作成することです。継続的に開発されているインターフェースがあり、数週間ごとにいくつかの新しい構造バージョンを取得するとしましょう。したがって、「(structure1*)、(structure2*)」などを明示的に記述する代わりに、SOME_DEFINE(thisStructure, version); を使用できます。ケースを処理する
私はこれがトリックを行うだろうと思った
#define d1(x) x
#define d2(x,y) x##y
void someFunction()
{
int temp = 3;
d2(myStructure,d1(temp)) *thisStruct;
}
私は、プリプロセッサがそれ自体をネストし、最初に d1 操作を貼り付けてから、d1 操作の結果を最初の d2 引数とマージすることを望んでいました。しかし、それはうまくいかないので、私の質問は、どうすればこの原因を達成できるかということです。