加算演算子と乗算演算子をオーバーロードしました。次のようなプログラムがあるとします。
#include <boost/numeric/ublas/matrix.hpp>
typedef boost::numeric::ublas ublas;
int main()
{
ublas::matrix<double> A(10,10,5);
double c1 = 10;
double c2 = 1;
A = (A*c1) + c2; // something like this wouldn't work.
// But if i change it to
A = A*c1;
A = A+c2;
// this will work.
return 0;
}
A = A*c2+c1;
または動作するようにするにはどうすればよいA = (A*c2)+c1
ですか?