Borland compiler error E2437

Hi, I am not able to compile function_base.hpp at lines 595(55), 607(55), 616(55), 625(55). Error E2437 D:\boost\boost_1_32_0\boost/function/function_base.hpp 598(55): 'typename' should be followed by a qualified, dependent type name Does anyone know a workaround for this? Greetings Roman

Roman Morokutti wrote:
Hi,
I am not able to compile function_base.hpp at lines 595(55), 607(55), 616(55), 625(55).
Error E2437 D:\boost\boost_1_32_0\boost/function/function_base.hpp 598(55): 'typename' should be followed by a qualified, dependent type name
This happens because these templates depend on the rule that "specialisation failure is not an error" (SFINAE) to limit their use, but Borland C++ does not implement that rule correctly.
Does anyone know a workaround for this?
There is a workaround in that file that should be used if BOOST_NO_SFINAE is defined, which it should be when you compile with Borland C++. <boost/config/compiler/borland.hpp> has: #if (__BORLANDC__ <= 0x564) # define BOOST_NO_SFINAE #endif which seems to imply that it is assumed to work in newer versions than 5.6.4 (?). If you have a newer version in which SFINAE still is not implemented then perhaps you should edit this version check. Ben.
participants (2)
-
Ben Hutchings
-
Roman Morokutti