我写了我的程序,它的工作原理是当我把所有的东西放在头文件中,然后有我的主文件。我现在将它们分解为实现文件,但Eclipse不断给我提供错误。它给了我错误的构造函数和函数的每个开头大括号。它对所有人都说“重新定义(构造函数或方法的名称),以前在这里声明。”我做错了什么,因为它在头文件中工作?实现与头文件
#include "KeyValuePair.h"
template<typename Key,typename Value>
KeyValuePair<Key,Value>::KeyValuePair()
{ // error here
}
template<typename Key,typename Value>
void KeyValuePair<Key,Value>::setPair(Key key, Value value)
{ // error here
pairKey = key;
pairValue = value;
}
template<typename Key,typename Value>
Key KeyValuePair<Key,Value>::getKey() const
{ // error here
return pairKey;
}
template<typename Key,typename Value>
Value KeyValuePair<Key,Value>::getValue() const
{ // error here
return pairValue;
}
头文件:
#ifndef _KEYVALUEPAIR_H_
#define _KEYVALUEPAIR_H_
template<typename Key,typename Value>
class KeyValuePair
{
private:
Key pairKey;
Value pairValue;
public:
KeyValuePair();
void setPair(Key key,Value value);
Key getKey() const;
Value getValue() const;
};
#include "KeyValuePair.cpp"
#endif
模板定义进去的头文件,你这样做 – 2013-02-10 03:22:04