この行をクラスのマクロ定義に入れました
virtual const char *GetEventName() const
{
return #classname;
}
この関数とその戻り値の型で何が起こっていますか?
classname
がマクロの引数の1つである場合、#classname
はその値の文字列バージョンです。したがって、もしそうclassname
ならSomeType
、#classname
"SomeType"
文字列(c文字列)を返すため、返されるタイプはconstchar*です。
詳細については、Stringificationを参照してください。