0

VS C++ 2010 で Eigen ライブラリを実装するのは初めてです。私の問題は、マトリックスでそれを作成するための演算子 XOR が見つからないことです。^ を使用して XOR 演算を C++ にしていますが、動作しますが、Eigen では動作しません。Eigen の XOR 演算子があるかどうか教えてもらえますか? 私はすべてドキュメントを読む準備ができていますが、見つけることができません。私が取り組んでいるコードは次のとおりです。

m(0,1) = 1;
for (i = 0; i < 7; i++) {
   for (j = 0; j < 7; j++) {
       m(i + 1,j + 1) = m(i,j) ^ m(i, j + 2);
       cout << m(i,j) << " ";
   }
   cout << endl;
}

ご協力いただきありがとうございます。

4

1 に答える 1

0

コードの非常に重要な部分が欠落しているため (m の宣言)、質問についてはわかりません。さまざまな仮定の下で答えを出してみましょう。

1)あなたが提供した抜粋はあなたが望むコードですが、意図したとおりに機能していません:

mとして宣言した場合

Eigen::Matrix<int,9,9> m;

コードは機能するはずです。演算子はc ++のfloat型で定義されていないEigen::Matrix<float,9,9>ため、次のようなものは機能しません。マトリックスの動的バージョンになり、同じエラーが発生します。エラーが何であるかを提供していないため、まったく異なるものである可能性もあります。^Eigen::MatrixXfm

2) 提供されたスニペットは機能しており、組み込みの固有演算子を使用して同じ機能を複製しようとしています。

参照^の固有型で定義された演算子はありません。ただし、アクセス操作の戻り値は、宣言に使用した型への ValueType 参照であるため、スニップされた演算子は Eigen 型ではありません。m(i,j)m

于 2012-09-12T06:40:05.100 に答える