2016-10-24 22 views
0

コマンドv.sort()をインクルードするためにC++固有ライブラリを拡張したいと思います。私はhereを説明したEIGEN_MATRIXBASE_PLUGINベースのアプローチを使用しています。ソートを含む固有ライブラリの拡張

"result"オブジェクトに "this"のコピーがロードされないため、以下のコード(「MatrixBaseAddons.h」内)が機能しません---デバッガのresult.rows() "は、derived() - > rows()と等しくない初期化されていない値です。実際に「これ」のコピーを作成して「結果」に入れるにはどうすればよいですか?

答えて

2

MatrixBaseは抽象クラスです。適切なスカラータイプとサイズのMatrix<>オブジェクトを返す必要があります。あなたはそのためにtypedef PlainObjectを直接使うことができます:

PlainObject sort(bool ascending = true) const { 
    PlainObject res = derived(); 
    ... 
    return res; 
} 
関連する問題