Now I am compiling an open source image processing project olena . This is a great image processing library, and I managed to compile it for Linux (4.6.3). Since I'm used to Windows, I am also trying to compile a project on Windows with Visual Studio 2010. However, when I compile it, I have error C2064:
Error 1 error C2064: term does not evaluate to a function taking 0 arguments C:\olena-2.1\olena-2.1\milena\mln\metal\is_a.hh 101
Following the error message, I came up with this code:
template <typename T, template <class> class M> struct is_a : bool_<( sizeof( internal::helper_is_a_< T, M >::selector(internal::make_< T >::ptr()) )
This is a very short piece of code, but I don't know where the error might come from. Any ideas? Thank you
NOTES:
The definition of interanl::make_<T>::ptr() as follows:
template <typename T> inline T* make_<T>::ptr()
The definition of iternal::helper_is_a_ is
template <typename T, template <class> class M> struct helper_is_a_ { template<class V> static yes_ selector(M<V>*); static no_ selector(...); };
source share