1
私はconstexprとしてパラメータパックから配列を定義します。次に、この配列をテンプレート引数として別のテンプレートに渡したいと思います。しかし、私は外部リンケージエラーが発生します。ここでの問題は何ですか?私はconstexprがテンプレートパラメータとして簡単に転送できると思った。非型パラメータパックからテンプレート引数としてconstexpr配列を渡すことができません
// Example program
#include <array>
#include <iostream>
#include <string>
template <size_t X>
using iMat1D = std::array<size_t, X>;
template <size_t SizeOfDims, const iMat1D<SizeOfDims> &DIMs>
struct test{
static void run() {
}
};
template <std::size_t... DIMS>
struct solver_walker {
static void run() {
constexpr std::size_t N = sizeof...(DIMS);
constexpr std::array<size_t, N> dims = {{DIMS...}};
test<N, dims>::run();
};
};
int main()
{
solver_walker<1,2,3,4>::run();
}