我想使用模板参数 来实现我的对象。其中一个参数是指向数组的指针,我正在寻找正确的语法。
const MyCustomType* array[2] = { &object1, &object2 };
OBJ1 < 10, 10, array > myobj1;
下面是班级OBJ1
的示例。
template < int a, int b, /* help ! */ >
class OBJ1
{
public:
OBJ1();
~OBJ1();
private:
//methods
};
使用第三个模板参数的正确语法是什么?这甚至可能吗?
答案 0 :(得分:1)
对于大小为n的int类型的数组,语法为
int (*paramname)[N];
或使用辅助类型别名
template<typename T>
using type = T;
然后
type<int[N]> *paramname;
在你的情况下,你传递一个指向数组第一个元素的指针,而不是指向数组的指针。在传递数组时,您需要在数组名称前加&
来执行后者。