Hi all,
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>();
}
};
int main()
{
Foo foo;
OtherFoo other;
other.f<Foo>(foo);
return 0;
}
The ouput is :
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 ?
Thanks,
Adrien