From: Drazen DOTLIC (Drazen.Dotlic_at_[hidden])
Date: 2003-06-04 07:42:46
I am using boost 1_30_0 (NOT current cvs snapshot) and Visual Studio.NET
2003. There is a strange problem with lexical_cast in the following
scenario (rough aproximation of my code, all in one header):
std::ostream& operator<<(std::ostream& out, const ConcreteType& v);
template <class T> class Formatter
std::string getFormattedValue(const T&)
When I try to use
lexical_cast fails with compiler claiming that there is no operator<<
that accepts const ConcreteType (or no acceptable conversion).
Now, even more funny is that if I put the operator<< in boost namespace,
everything is fine (??). Anyone else seeing this? For the moment I am
assuming this is a compiler bug, but if I missed some dusty (or not so
dusty :) corners of C++ that explain this (in favor of compiler),
someone please enlighten me, this is driving me nuts.