Problem compiling oct-norm.cc with MSVC
Michael Goffioul
michael.goffioul at gmail.com
Mon Nov 10 04:20:06 CST 2008
On Sun, Nov 9, 2008 at 12:51 PM, Jaroslav Hajek <highegg at gmail.com> wrote:
> This seems to be a bit complicated problem. The problem is that I need
> to include
> Array.cc in oct-norm.cc due to using Array<ACC>, but this then
> apparently causes the Array<Complex> methods to be instantiated
> rather than used as external.
> This is not the first time I thought that Array<T> itself is a little
> too complex requiring the < operator to be defined for its element.
> Since the other <> operators are defined in MArray, I personally think
> that the sort methods should be moved here, too. Any objections?
> In any case, it's probably useless to instantiate all the complexity
> of Array<T> just for its use as a 1D container, which is what
> oct-norm.cc does. std::vector can be easily used instead.
> Please verify that the patch
> http://hg.savannah.gnu.org/hgweb/octave/rev/5fe0f4dfdbec
> fixes your problem.
It actually produces another one:
../../liboctave/oct-norm.cc(280) : error C2064: term does not evaluate
to a function taking 1 arguments
../../liboctave/oct-norm.cc(314) : see reference to function
template instantiation 'void
row_norms<double,double,norm_accumulator_2<R>>(const MSparse<T>
&,MArray<T> &,ACC)' being compiled
with
[
R=double,
T=double,
ACC=norm_accumulator_2<double>
]
../../liboctave/oct-norm.cc(560) : see reference to function
template instantiation 'MArray<T> row_norms<double,double>(const
MSparse<T> &,R)' being compiled
with
[
T=double,
R=double
]
More information about the Octave-maintainers
mailing list