T
Thelma Lubkin
I use my own matrix and vector classes. I wrote them before such
things were generally available and I've stuck with them ever since.
I've just added an Octonion class derived from the vectors class and
I'm trying to do some matrix arithmetic where the elements of the
matrices are Octonions. (My Octonions are essentially 8-component
vectors with a multiplication table that I compute at runtime. Like
vectors, they are a template class, but I've yet to assign anything
but double as the template scalar)
Things have been working pretty well, but now
I've gotten this warning when trying to multiply a matrix by an
Octonion:
matrixd.cc:244: warning: passing `const Octonion<double>' as `this'
argument of
`Octonion<scalar> Octonion<scalar>:perator*(const
Octonion<scalar>&) [with
scalar = double]' discards qualifiers
I seem to get valid results if I ignore the warning, but I'd like to
understand what it means and to modify my classes so that it no longer
occurs.
Can someone help, please?
thanks, --thelma
things were generally available and I've stuck with them ever since.
I've just added an Octonion class derived from the vectors class and
I'm trying to do some matrix arithmetic where the elements of the
matrices are Octonions. (My Octonions are essentially 8-component
vectors with a multiplication table that I compute at runtime. Like
vectors, they are a template class, but I've yet to assign anything
but double as the template scalar)
Things have been working pretty well, but now
I've gotten this warning when trying to multiply a matrix by an
Octonion:
matrixd.cc:244: warning: passing `const Octonion<double>' as `this'
argument of
`Octonion<scalar> Octonion<scalar>:perator*(const
Octonion<scalar>&) [with
scalar = double]' discards qualifiers
I seem to get valid results if I ignore the warning, but I'd like to
understand what it means and to modify my classes so that it no longer
occurs.
Can someone help, please?
thanks, --thelma