ฉันรู้ว่าเป็นไปได้ที่จะสร้างฟังก์ชันแม่แบบ:
template<typename T>
void DoSomeThing(T x){}
และเป็นไปได้ที่จะสร้างคลาสเทมเพลต:
template<typename T>
class Object
{
public:
int x;
};
แต่เป็นไปได้ไหมที่จะทำให้คลาสไม่ได้อยู่ในเทมเพลตจากนั้นสร้างฟังก์ชันในคลาสนั้นเป็นเทมเพลต? เช่น:
//I have no idea if this is right, this is just how I think it would look
class Object
{
public:
template<class T>
void DoX(){}
};
หรืออะไรบางอย่างในระดับที่ชั้นไม่ได้เป็นส่วนหนึ่งของแม่แบบ แต่ฟังก์ชั่นคืออะไร?