在这段代码中......
template<template <unsigned int R,class T,class...Args> class F,typename...G>
class testclass{
protected:
F<R,T,Args...> f;
};
g ++坚持R
,T
和Args...
未在成员变量f
的范围内声明。
什么是正确的语法?
谢谢!
答案 0 :(得分:3)
您只能将模板模板参数的参数命名为形式,您无法在任何地方实际使用它们。但是,您可以通过专门化您的类来访问参数:
template <class F, typename... G>
class testclass;
template <template <unsigned int, class...> class F, unsigned int R, class T,
class... Args, class... G>
class testclass<F<R, T, Args...>, G...>
{
protected:
F<R, T, Args...> f;
};
T
实际上可以替换为Args...
,除非您特别需要它。