gpt4 book ai didi

c++ - 错误 : Use of class template requires template argument list

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:32 24 4
gpt4 key购买 nike

当我尝试运行我的程序时,此错误显示为“error C2955: 'FOURTEEN': use of class template requires template argument list”

#include <iostream>
using namespace std;
template <class T, int n>
class FOURTEEN
{
private:
T a[n];
public:
void ReadData();
void DisplayData();
};
void FOURTEEN::ReadData()
{
for(int i=0;i<n;++i)
cin>>a.[i];
}
void FOURTEEN::DisplayData()
{
for(int i=0;i<n;++i)
cin>>a.[i]<<'\t';
cout<<endl;
}
int main()
{
FOURTEEN <int, 5>P;
//Read data into array a of object P
cout<<"Enter 5 numbers: ";
P.ReadData();
//display data of array a of object P
P.DisplayData();

system("pause");
return 0;
}

我是否必须在其他地方重新输入模板?

最佳答案

模板类的成员本身就是由参数参数化的模板他们的模板类。当这样的成员在其类之外定义时,它必须显式地声明了一个模板。

所以你需要改变

void FOURTEEN::ReadData()

template <class T, int n>
void FOURTEEN<T, n>::ReadData()

并对函数 DisplayData 做同样的事情。

还有一些其他错误:

在函数ReadData中,改变

cin>>a.[i];

cin>>a[i];

并在函数 DisplayData 中,更改

cin>>a.[i]<<'\t';

cout<<a[i]<<'\t';

关于c++ - 错误 : Use of class template requires template argument list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com