1

テンプレートパラメータのみを使用してオブジェクトをインスタンス化したいと思います。パラメータの1つは配列へのポインタであり、正しい構文を探しています。

const MyCustomType* array[2] = { &object1, &object2 };

OBJ1 < 10, 10, array > myobj1;

以下に、クラスのサンプルを示しOBJ1ます。

template < int a, int b, /* help ! */ >
class OBJ1
{
  public:
    OBJ1();
    ~OBJ1();

  private:
    //methods
};

3番目のテンプレートパラメータを使用するための正しい構文は何ですか?それも可能ですか?

4

1 に答える 1

1

サイズ n の int 型の配列の場合、構文は次のとおりです。

int (*paramname)[N];

またはヘルパー型エイリアスを使用

template<typename T>
using type = T;

それで

type<int[N]> *paramname;

あなたの場合、配列へのポインターではなく、配列の最初の要素へのポインターを渡します。&配列を渡すときに後者を行うには、配列名の前に を付ける必要があります。

于 2012-10-12T12:37:23.700 に答える