C++ 如何定义内部类
我在其中有一个矩阵类和一个列类:C++ 如何定义内部类,c++,templates,C++,Templates,我在其中有一个矩阵类和一个列类: template<class T> struct MatrixT { template<class T> struct ColumnT { }; }; 因为实际上,我大部分时间都使用double元素。但是我还想为columnT类定义类似的内容。我试过了 typedef MatrixT<double>::ColumnT<double> matrix::column; typedef
template<class T>
struct MatrixT
{
template<class T>
struct ColumnT
{
};
};
因为实际上,我大部分时间都使用double
元素。但是我还想为columnT
类定义类似的内容。我试过了
typedef MatrixT<double>::ColumnT<double> matrix::column;
typedef矩阵text::ColumnT矩阵::column;
但编译失败,出现错误
错误-不允许使用限定名称
有没有办法实现我想要的
我希望能够键入
matrix::column c代码>就像我可以键入矩阵m一样代码>只需删除第二个模板
…应按预期工作。是否尝试过MatrixT::ColumnT
参数T可能会被隐藏,因为两个模板对类型使用相同的占位符。也可以为T尝试不同的名称
typedef MatrixT<double>::ColumnT<double> matrix::column;
template<class T>
struct MatrixT
{
struct ColumnT
{
};
};
typedef MatrixT<double> matrix;