2017-12-06 11 views
-1

私はvector<double>を入力とし、さらにvector<double>を返す関数を持つクラスを持っています。C++で変数のユーザー定義型変換を追加する方法は?

Eigen::vectorXdを入出力に使用するためにこの関数をオーバーロードしたいとします。私は過負荷が必要な多くの機能を持っています。これらのすべての機能のためにEigen::vecrtorXdからvector<double>に型キャストする型キャストを作成する方法はありますか?あなたが探しているもの、あなたが基本的なテンプレート機能でこれを達成することができるかもしれない依存

+0

コードをコードとしてマークするには、ボタンを使用する必要があります。 –

答えて

0

、すなわち

template <typename vec_t> 
vec_t do_something(const vec_t& input) 
{ 
    // Do things 
} 

これは正常に動作しますが、一般的な何かをしたい場合などのノルムを計算しますベクトルの次元は重要ではない。

+0

これは私が欲しいものですが、 'vector 'と 'Eigen :: VectorXd'の間の変換は、内部変換ではないのでどのように指定しますか? – bala

+0

Eigenの仕組みが分かりませんが、Eigenに反復するいくつかの統一的な方法があると仮定して、 'template std :: vector convert(const eigen_vec_t&)'というマニュアルテンプレート変換関数を作成して呼び出すことができます要素を通して。 –

関連する問題