
3 Feb
2011
3 Feb
'11
11:02 p.m.
AMDG On 2/3/2011 2:42 PM, Edward Diener wrote:
Compiling this code with gcc:
#include <boost/config.hpp> #include <boost/mpl/apply.hpp>
template < class MF, class T
struct myMF : boost::mpl::apply<MF,T> { BOOST_STATIC_CONSTANT(bool,value=type::value); };
int main() { return 0; }
Gives:
"gcc.compile.c++ ..\..\..\bin.v2\libs\tti\test\TestMFHasTypeMFC.test\gcc-mingw-4.5.2\debug\TestMFHasTypeMFC.o
TestMFHasTypeMFC.cpp:18:5: error: 'type' has not been declared
gcc is correct. Members of a dependent base class are not visible in the derived class. (This is necessary to allow the template to be parsed before the template arguments are known.). Add using typename boost::mpl::apply<MF,T>::type; In Christ, Steven Watanabe