テンプレート関数を作成することが可能であることを私は知っています:
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(){}
};
または、クラスがテンプレートの一部ではなく、関数がテンプレートの一部である範囲で何か?
あなたの推測は正しいものです。覚えておく必要があるのは、メンバー関数テンプレート定義(宣言に加えて)は、クラス宣言自体の本体にある必要はありませんが、cppではなくヘッダーファイルにある必要があるということだけです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加