0
如果可能,我希望在返回模板類的類中有一個函數,其中類和類模板值是模板參數。例如,成員函數的模板類和類型返回類型
class AClass
{
public:
template<typename ClassType, typename ClassTemplateType>
ClassType<ClassTemplateType>* TestFunction() { return NULL; }
};
但是,如果我這樣做,我會得到錯誤,如
錯誤C2988:無法識別的模板聲明/定義
錯誤C2059:語法錯誤: '<'
錯誤C2143:語法錯誤:缺少';'在'}'之前
錯誤C2238:在';'之前的意外標記(s)
是否有可能按照我提供的來做一些事情?如果是這樣,怎麼會這樣?如果不是,爲什麼不,還有什麼可以提出的其他建議?
爲什麼'類ClassType'而不是'模板ClassType'? – judeclarke 2012-04-24 02:05:23
@judeclarke語法是'template [class或typename] [模板名稱]>',這是'template ClassType>'在我們的例子中。 – 2012-04-24 02:07:03
不正確 - 對於模板類型參數,可以使用'class'或'typename',但對於模板模板參數,只允許'class'。 – ildjarn 2012-04-24 02:15:26