我有一个矩阵类,如下所示。
template <typename T, std::size_t M, std::size_t N>
class Matrix
{
std::array<std::array<T, N>, M> data_;
};
我想在这个矩阵中创建一个行别名,以方便类似
template <typename T, std::size_t M, std::size_t N>
class Matrix
{
template<>
using row = std::array<T, N>;
std::array<row, M> data_;
};
我的编译器告诉我这个别名仍然是非专用的。我该如何做到这一点?
这为我编译了:
#include <array>
template <typename T, std::size_t M, std::size_t N>
class Matrix
{
using row = std::array<T, N>;
std::array<row, M> data_;
};
这并不是真正的专业化,只是一个普通的using
别名定义。