Function template inside of class template

A

Arne Schmitz

Consider this:

----SNIP----
template<typename T>
class
foo
{
public:

template<typename S> void f(S s) { }
};

// ???

// template<typename T>
// void
// foo<T>::f<S>(S s)
// {

// }

int main()
{
foo<int> f;

f.f<float>(1.0f);

return 0;
}
----SNIP----

That code works, but how do I write the function definition outside of the
class? I cannot get the code to compile, always some syntax error.

Arne
 
A

Arne Schmitz

The code below works:
template<typename T>
class
foo
{
public:

template<typename S> void f(S s);
};

// ???

template<typename T>
template<typename S>
void
foo<T>::f(S s)
{

}

int main()
{
foo<int> f;

f.f<float>(1.0f);

return 0;
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,562
Members
45,038
Latest member
OrderProperKetocapsules

Latest Threads

Top