$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Douglas Gregor (gregod_at_[hidden])
Date: 2001-06-29 15:40:29
Borland C++ seems to have a bug regarding template argument deduction when
dealing with function pointers. Consider this:
template<typename T> void set(const T& t);
int foo(int, int) {};
// ...
set(&foo);
When calling set(&foo), we should get T = int (*)(int, int). Then the
parameter t has type reference to const pointer to a function taking two int
parameters and returning an int.
However, Borland C++ won't perform this deduction (all other compilers I
tried - GCC, Comeau, and MSVC - seem to do it properly. A workaround is to
use this form of set():
template<typename T> void set(T* t);
Where it deduces T a function taking two int parameters and returning an int.
This appears to be a Borland-specific problem, but should it be part of
config.hpp? Any suggestions on what to name this problem?
Doug