0

可能であれば、クラスとクラス テンプレート値がテンプレート パラメーターである、テンプレート化されたクラスを返すクラスに関数が必要です。例えば、

class AClass
{
public:
    template<typename ClassType, typename ClassTemplateType>
    ClassType<ClassTemplateType>* TestFunction() { return NULL; }
};

ただし、このようなことをすると、次のようなエラーが発生します

エラー C2988: 認識できないテンプレート宣言/定義

エラー C2059: 構文エラー: '<'

エラー C2143: 構文エラー: ';' がありません 前 '}'

エラー C2238: ';' の前に予期しないトークンがあります

私が提供したように何かをすることは可能ですか?そうでない場合、それはなぜでしょうか? 他に提案できることはありますか?

4

1 に答える 1

4

テンプレート テンプレート パラメータの構文は次のとおりです。

template<template<typename> class ClassType, typename ClassTemplateType>
ClassType<ClassTemplateType>* TestFunction() { return NULL; }
于 2012-04-24T01:48:11.193 に答える