1

私がやろうとしているのは、マクロを使用してクラス名を生成することだけです。これには少し連結が必要です。それだけです。それが惨めに失敗することを除いて。これは本当に私のギアを磨いています。

どこか前に定義されたマクロがあります...

#define CLASSNAME myclassname
...

そして、タイプで生成されたクラス名を取得しようとしています...

#define GETNAME(x) x
#define UNIQUENAME(T) GETNAME(CLASSNAME) ## _ ## T

UNIQUENAME(int)   //I want it to make: myclassname_int
                  // instead it makes: myclassname _int
// SUBTLE, but screws everything up! can't have that space in the middle.

別の構成を確認しました...

#define UNIQUENAME(T) GETNAME(CLASSNAME)M ## M_ ## T
//which returns: myclassname MM_int

したがって、スペースは間違いなく GETNAME の結果に由来します。唯一のことは、それを取り除く方法がわかりません。私はあまりにも長い間試してきました。

何でも役に立ちます。ありがとう!

4

1 に答える 1