C++11 c++;11变量模板类未编译 模板 类冲突管理器 { 公众: 碰撞管理器(无效); ~CollisionManager(无效); bool-checkCollision(T1第一个数组,T2第二个数组); };
由于某些原因,C++11 c++;11变量模板类未编译 模板 类冲突管理器 { 公众: 碰撞管理器(无效); ~CollisionManager(无效); bool-checkCollision(T1第一个数组,T2第二个数组); };,c++11,C++11,由于某些原因,checkCollision()中的编译器将args1和args2作为未声明的标识符发出警报args1和args2只是占位符。你可以省略它们。还要注意,类模板的参数也是模板,而不是类型。当CollisionManager被实例化时,args1和args2甚至不绑定到任何类型 更新: 在我看来,你想写这样的东西: template <template <class ...args1> class T1, template <class ...args2>
checkCollision()
中的编译器将args1和args2作为未声明的标识符发出警报args1
和args2
只是占位符。你可以省略它们。还要注意,类模板的参数也是模板,而不是类型。当CollisionManager
被实例化时,args1
和args2
甚至不绑定到任何类型
更新:
在我看来,你想写这样的东西:
template <template <class ...args1> class T1, template <class ...args2> class T2>
class CollisionManager
{
public:
CollisionManager(void);
~CollisionManager(void);
bool checkCollision(T1<args1...> firstArray, T2<args2...> secondArray);
};
模板类冲突管理器;
模板
类冲突管理器
{
公众:
CollisionManagerImpl(无效);
~CollisionManagerImpl(无效);
bool-checkCollision(T1第一个数组,T2第二个数组);
};
args1
和args2
只是占位符。你可以省略它们。还要注意,类模板的参数也是模板,而不是类型。当CollisionManager
被实例化时,args1
和args2
甚至不绑定到任何类型
更新:
在我看来,你想写这样的东西:
template <template <class ...args1> class T1, template <class ...args2> class T2>
class CollisionManager
{
public:
CollisionManager(void);
~CollisionManager(void);
bool checkCollision(T1<args1...> firstArray, T2<args2...> secondArray);
};
模板类冲突管理器;
模板
类冲突管理器
{
公众:
CollisionManagerImpl(无效);
~CollisionManagerImpl(无效);
bool-checkCollision(T1第一个数组,T2第二个数组);
};
这是因为它们未在该范围内声明<代码>arg1的作用域为它出现的
。您想用args1
和args2
做什么?为什么不能只使用标准类型模板参数呢?如果需要了解T1
、T2
、args1
和args2
这是因为它们未在该范围内声明,请使用部分专门化<代码>arg1的作用域为它出现的
。您想用args1
和args2
做什么?为什么不能只使用标准类型模板参数?如果需要了解T1
、T2
、args1
和args2