|
Boost : |
From: Stefan Slapeta (stefan_nospam__at_[hidden])
Date: 2004-03-28 05:27:54
Sorry for the repost, but there was no answer to this
(http://tinyurl.com/3yba8) and I'm still not sure if it is a compiler or
a boost defect.
Which f should be called here?
void f(const char*)
{
std::cout << "function called!" << std::endl;
}
template <typename T>
void f(const T&)
{
std::cout << "function template called!" << std::endl;
}
int main()
{
char buf[10] = { 0 };
f(buf);
}
In my opinion, it should be the function template (which whould also
mean that EDG works correctly and VC 7.1 not) as "f(char[10])" is no
exact match for the function.
However, this would also mean that there is a defect in boost.test (see
link above).
br, Stefan
***********************************
Stefan Slapeta
Wien/Vienna, Austria
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk