私がやろうとしているのは、マクロを使用してクラス名を生成することだけです。これには少し連結が必要です。それだけです。それが惨めに失敗することを除いて。これは本当に私のギアを磨いています。
どこか前に定義されたマクロがあります...
#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 の結果に由来します。唯一のことは、それを取り除く方法がわかりません。私はあまりにも長い間試してきました。
何でも役に立ちます。ありがとう!