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