我相信这是可能的,但我就是做不到:如何在非模板类中定义函数模板?我尝试过以下代码:
class Stack_T
{
private:
void* _my_area;
static const int _num_of_objects = 10;
public:
// Allocates space for objects added to stack
explicit Stack_T(size_t);
virtual ~Stack_T(void);
// Puts object onto stack
template<class T>
void put(const T&);
// Gets last added object to the stack
template<class T>
T& get()const;
// Removes last added object from the stack
template<class T>
void remove(const T&);
};
template<class T> //SOMETHING WRONG WITH THIS DEFINITION
void Stack_T::put<T>(const T& obj)
{
}
但它不起作用。我收到了这个错误消息:
'Error 1 error C2768:'Stack_T :: put':明确模板参数的非法使用'
谢谢
Stack_T
不是一个模板。 - interjay