0

これが私が達成したいことです、

  1. 文字ポインタを返す関数に構造体を引数として渡したい
  2. 毎回、異なる構造体を引数として渡します。これには、異なる名前と異なる型のメンバー変数があります
  3. 関数は、構造体とそのメンバー変数を識別し、メンバー変数の値を取得し、それを単一の文字列として連結して返す必要があります。

提案してください....

テンプレート機能とRTTIと混同しています.....

4

4 に答える 4

3

Boost.Fusion、特にBOOST_FUSION_ADAPT_STRUCTを調べることができます。

于 2013-09-05T10:15:43.473 に答える
1

私の頭をよぎる最初の提案は、再設計です。

あなたが本当にあなたが言うようにそれをやりたいと思っていて、フィールドの名前を知らないのなら、テンプレートはあなたに何の役にも立たないと思います. プリプロセッサを使用することをお勧めします:

#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);
于 2013-09-05T10:15:10.457 に答える