关于#c++#的问题,编译错误,原因为“未在此范围内声明”

本人正在学习顺序表。我定义了一个模板类:

template<class T, int N>
class SeqList {
    private:
        T data[N];
        int length;
    public:
        SeqList(T a[], int n);
        void insert(int i, T x);
        T Delete (int i);
        int locate(T x);
        void printlist();
};

并在主函数中创建一个长度为100的数组,由于待处理数组元素的类型有3种,所以我创建了一个以模板类的形式化参数T为数组元素的数组,并把元素初始化为0:

int main() {
    int n = 100;
    T A[n] = {0};
}

此时出现了报错:

img


请问这是为什么呢?又该如何解决呢?

T A[n] = {0}
修改为
A<int>[n];