0

コンパイル時に opencv 行列 Mat_<\T> の要素型 T にアクセスする必要があります。それを行う方法はありますか?私は次のことを達成しようとしています:

template <typename T>
void foo(const T& mat) {

  // T::type* ptr = (T::type*)mat.data;
}

foo(Mat_<float>::ones(5,5));

次の宣言はオプションではありません。

template <typename T>
void foo(const Mat_<T>& mat);
4

1 に答える 1

1

あなたが望むことをするvalue_typeと呼ばれるtypedefがあるようです。

template <typename T>
void foo(const T& mat) {
    T::value_type* ptr = ...;
}
于 2013-11-11T10:58:44.200 に答える