boost::variant
に入れた元のオブジェクトのタイプ名を元に戻してもらえますか?元のタイプのブーストバリアント変数を取得する
私が持っているこの
typedef boost::variant<macro,module> ref_var;
のようなものは、それが元のオブジェクトの型名を取り戻すことは可能ですか?この場合、(マクロまたはモジュール)
私はそれが
typeid(v).name()
を使用して取得しようとしていたが、それは私のマクロでもモジュールでもない奇妙な名前与えます:
をPN5boost7variantI5macro6moduleNS_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EE
お願いします。
これは、コンパイラによって壊さ型の名前です。あなたは何を達成したいですか? 'rev_var'と' v'は同じですか? –
こんにちはRafal、rev_varはバリアント型、vはマクロまたはモジュールのいずれかの変数です。 –