Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++11 c++;11变量模板类未编译 模板 类冲突管理器 { 公众: 碰撞管理器(无效); ~CollisionManager(无效); bool-checkCollision(T1第一个数组,T2第二个数组); };_C++11 - Fatal编程技术网

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