Thanks a lot for both answers !
Hi,
[snip]
> The following lines don't compile with g++ (4.3.2) whereas it's ok with
> msvc 9.
>
> struct Foo
> {
> template<class T>
> unsigned int foo() const
> {
> return sizeof(T);
> }
>
> };
>
> struct OtherFoo
> {
> template<class T>
> void f(const T& t)
> {
> t.foo<double>();
> }
>
> };
> The ouput is :The following works for me:
> test.cpp: In member function 'void OtherFoo::f(const T&)':
> test.cpp:17: erreur: expected primary-expression before 'double'
> test.cpp:17: erreur: expected `;' before 'double'
>
> Does anybody know a workaround ?
--- foo.cpp.old 2009-03-03 10:01:21.086297500 -0800
+++ foo.cpp 2009-03-03 10:00:26.471330500 -0800
@@ -14,7 +14,7 @@
template<class T>+ t.template foo<double>();
void f(const T& t)
{
- t.foo<double>();
}
};
HTH,
-Ossama
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users