これが私が達成したいことです、
- 文字ポインタを返す関数に構造体を引数として渡したい
- 毎回、異なる構造体を引数として渡します。これには、異なる名前と異なる型のメンバー変数があります
- 関数は、構造体とそのメンバー変数を識別し、メンバー変数の値を取得し、それを単一の文字列として連結して返す必要があります。
提案してください....
テンプレート機能とRTTIと混同しています.....
Boost.Fusion、特にBOOST_FUSION_ADAPT_STRUCTを調べることができます。
私の頭をよぎる最初の提案は、再設計です。
あなたが本当にあなたが言うようにそれをやりたいと思っていて、フィールドの名前を知らないのなら、テンプレートはあなたに何の役にも立たないと思います. プリプロセッサを使用することをお勧めします:
#define UGLY(str, int_field, char_field) whatever_you_want_to_do_with_them
次に、次のように呼び出します。
a some_a;
b some_b;
UGLY(some_a, x, y);
UGLY(some_b, b, a);