Boost logo

Boost Users :

From: Samuel Krempp (krempp_at_[hidden])
Date: 2005-02-23 12:56:38


Alexey Bakhvalov a écrit :

>Hello,
>
>I have a problem when I try to include "boost/format.hpp" from Boost 1.32 in
>a project that uses STLPort library.
>
>I am using MSVC 7.1 and the compiler prints the following error:
>
>\boost\format\format_implementation.hpp(216) : error C2244:
>'boost::basic_format<Ch,Tr,Alloc>::size' : unable to match function
>definition to an existing declaration
>
>

I just finished installing VStudio.net 2003 (which is 7.1, I believe),
and this definitely looks like a bug in visual studio.
The following sample exhibits the same behaviour

template<class T>
struct A {
   typedef T* some_type;
};

template<class T>
struct B {
   typedef typename A<T>::some_type le_type;
   le_type some_f();
};

template<class T>
typename B<T>::le_type B<T>::some_f() {
   le_type x;
   return x;
}

Is it a known bug ?

Replacing B<T>::le_type with A<T>::some_type when defining
B<T>::some_f() seem to be a work around.

-- 
Samuel

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net