有没有办法创建一个接受给定模板类的任何版本的函数?
例如,这工作:
ostream& operator << (ostream &out,const Vector<int>& vec);
Run Code Online (Sandbox Code Playgroud)
但这不是:
ostream& operator << (ostream &out,const Vector& vec);
Run Code Online (Sandbox Code Playgroud)
对于任何版本的向量,是否有可能以某种方式使第二行工作?例如vector<int>,vector<double>而不必编写2个单独的功能?
添加到问题:
我已经使op <<模板功能像你建议的那样.为了使它成为vector类的友元函数,我尝试将以下内容添加到Vector类定义中,但它不起作用:
friend ostream& operator << (ostream &out, const Vector<T>& vec);
Run Code Online (Sandbox Code Playgroud)
任何想法可以做些什么来解决它?
当然,使它成为模板功能:
template <typename T>
ostream& operator << (ostream &out,const Vector<T>& vec);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
267 次 |
| 最近记录: |