gpt4 book ai didi

C++11 从参数包创建静态数组

转载 作者:可可西里 更新时间:2023-11-01 17:31:46 24 4
gpt4 key购买 nike

是否可以使用模板参数包中的值创建一个static const 数组?我尝试了以下代码,但 gcc 4.8.1 给出了“错误:参数包未扩展”

template<int... N>
struct ARRAY_OF_DIMS
{
static constexpr size_t NDIM = sizeof...(N);
static const int DIMS[NDIM];
};

template<int... N>
const int ARRAY_OF_DIMS<N>::DIMS[ARRAY_OF_DIMS<N>::NDIM] = { N... };

最佳答案

尝试:

template<int... N>
const int ARRAY_OF_DIMS<N...>::DIMS[ARRAY_OF_DIMS<N...>::NDIM] = { N... };

ARRAY_OF_DIMS<N> 中的参数包是没有展开的那个。每个不是 sizeof... 参数的参数包必须扩大。

关于C++11 从参数包创建静态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17048426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com