template <class T>

Started by
4 comments, last by balloon 22 years, 5 months ago
this compiles well
  
class Bye 
{
public:
	void SayHello();
};

void Bye::SayHello()
{
}
  
But his doesn''t
  
template <class T> class Bye 
{
public:
	void SayHello();
};

void Bye::SayHello()
{
}
  
void Bye::SayHello() --------^ syntax error before ''::'' Why?
Advertisement
Try this:
template <class T> class Bye{public:	void SayHello();};void Bye<class T>::SayHello(){}   

(Just typed in "template" in MSDN :p )
A template member is identified by the class name and the class type information.

baumep

Edited by - baumep on December 7, 2001 2:56:18 PM
baumep
try

bye<T>::SayHello();
You should use
  template <class T> void Bye<T>::SayHello(){}   


Edited by - VolkerG on December 7, 2001 2:59:25 PM
quote:Original post by VolkerG
You should use
    template <class T> void Bye<T>::SayHello(){}     



Exactly right!
I prefer using "typename" instead of "class" in my template declarations, but that''s me.

This topic is closed to new replies.

Advertisement