嘿所以我正在努力编译:
//ASSIGNMENT
#include <iostream>
#include <string>
using namespace std;
template <class T>
class Two {
private: T x,y;
public:
Two (T a, T b);
friend void Show (Two p);
~Two();
};
//ASSIGNMENT
template <class T>
Two::Two (T a, T b){
x = a;
y = b;
}
friend void Two::Show(Two p){
cout << p.x << " and " << p.y << endl;
}
int main () {
Two<int> class2(2,3);
Show(class2);
}
赋值是定义类的成员(在// ASSIGNMENT标记中)。我不知道为什么它不会编译...谢谢!
答案 0 :(得分:3)
更改
template <class T>
Two::Two (T a, T b)
到
template <class T>
Two<T>::Two (T a, T b)
并在需要的地方进行类似的更改。