On Sat, Nov 14, 2009 at 4:31 PM, Michael Goffioul
<address@hidden> wrote:
Hi,
Using recent octave archive, MSVC fails to compile liboctave due
to a template problems. The error is the following:
../../liboctave/CNDArray.cc(763) : error C2563: mismatch in formal
parameter list
../../liboctave/CNDArray.cc(763) : error C2563: mismatch in formal
parameter list
../../liboctave/CNDArray.cc(763) : error C2440: 'specialization' :
cannot convert from 'overloaded-function' to 'double (__cdecl *const
)(Complex)'
None of the functions with this name in scope match the target type
../../liboctave/CNDArray.cc(763) : error C2973: 'do_mx_unary_map' :
invalid template argument 'overloaded-function'
c:\sources\playground\c\octave-graphics-hg\liboctave\mx-inlines.cc(264)
: see declaration of 'do_mx_unary_map'
../../liboctave/CNDArray.cc(763) : error C2668: 'do_mx_unary_map' :
ambiguous call to overloaded function
c:\sources\playground\c\octave-graphics-hg\liboctave\mx-inlines.cc(271):
could be 'RNDA do_mx_unary_map<NDArray,ComplexNDArray,double
std::abs<double>(const std::complex<double> &)>(const XNDA &)'
with
[
RNDA=NDArray,
XNDA=ComplexNDArray
]
c:\sources\playground\c\octave-graphics-hg\liboctave\mx-inlines.cc(264):
or 'RNDA do_mx_unary_map<NDArray,ComplexNDArray,& abs>(const
XNDA &)'
with
[
RNDA=NDArray,
XNDA=ComplexNDArray
]
while trying to match the argument list '(const ComplexNDArray)'
Any idea how to work around the problem? This part of the code seems
pretty recent.
Michael.