C ++通用类错误,出什么问题?

问题描述 投票:0回答:1

为什么以下代码无法编译?

namespace mtm {
    template<class T>
    class Matrix {
    private:
    public:
        class AccessIllegalElement;

    };

    Matrix::AccessIllegalElement{};
}

我正在尝试实现内部类以处理错误

我得到的错误:

'Matrix'不是类,名称空间或枚举

另外,如果在AccessIllegalElement内部,我想编写一个打印非法索引的函数,那是更好的选择?

1)定义一个带有一个参数的函数

2)为每个类对象提供一个称为索引的成员以保存该数据

c++ class generics methods try-catch
1个回答
1
投票

Matrix是模板,而不是类。在声明/定义内部项目时,需要让编译器知道此模板的模板参数:

template <typename T>
class Matrix<T>::AccessIllegalElement {};
© www.soinside.com 2019 - 2024. All rights reserved.