搜索内容

有一个问题?

如果您有任何疑问,可以在下面询问或输入您要寻找的!

显示无法解析的外部问题,应该怎么修改代码?

技术聚客 未结 1 327
zhzbd
zhzbd 2021-03-07 23:56
//template1.h #include"stdafx.h" #include<iostream> #include<string> using namespace std; #ifndef ARRAY #define ARRAY const int len=10; template<class T> class Array { public: Array() { m_len=0; m_a=new T[len]; } Array(int len) { m_len=len; m_a=new T[len]; } void reset(); friend ostream& operator<<(ostream& out, const Array<T>&value) { for (int i = 0; i < value.m_len; i++) out << value.m_a[i] ; return out; } private: int m_len; int *m_a; }; template<class T> void reset() { cout<<"请输入数组里的元素:"<<endl; for(int i=0;i<len;i++) cin>>m_a[i]; } #endif //11.5.1.cpp #include"stdafx.h" #include"template1.h" #include<iostream> using namespace std; int main() { Array<int>A(10); A.reset(); cout<<"输出数组中的元素"<<endl; cout<<A; return 0; }
相关标签:
1条回答
  • 2021-03-08 00:11

    你的reset的在类中的声明没错,但是在类外的定义不对,修改定义的地方。

    void reset()  

    此句改为

    void Array<T>::reset()

    0 讨论(0)
提交回复