我试图找出嵌套模板类的显式特化的正确语法。下面的代码将更好地说明:
struct Column_Major;
struct Row_Major;
template<size_t rows, size_t cols, typename T, typename Allocator>
class Matrix
{
/* bunch of members */
template <typename storage = Column_Major>
class Iterator
{
/* bunch of members */
};
};
我想为 写一个明确的template <> class Matrix<...>::Iterator<Row_Major
特化,但语法让我望而却步。我怀疑如果没有对包含类 Matrix 的显式特化,就不可能显式特化 Iterator 类。但如果有办法做到这一点,我会很高兴。
我知道我可以使 Iterator 类成为一个单独的类,而不是 Matrix 类的成员,但是这样嵌套的类允许我完全访问 Matrix 类的模板参数和数据成员,这简化了事情。我知道如果需要我可以解决这个问题,但我首先想调查和了解嵌套方法的可能性。
谢谢, 什穆尔