【发布时间】:2018-09-17 16:35:10
【问题描述】:
尝试编写更好版本的数组类型我遇到了问题。由于某种原因,声明不起作用。它向我抛出了一堆奇怪的错误。尝试查找问题,但到目前为止还没有找到任何东西。代码如下:
Template <class T>
class SafeArray {
private:
int size;
int elements;
int index;
T* arr;
public:
SafeArray(int n);
~SafeArray();
void push_back(T item);
void resize(int size);
friend std::ostream& operator << (std::ostream& os, const SafeArray<T>& ar)
};
以及类外的实现:
template<class T>
std::ostream& operator << <T> (std::ostream& os, const SafeArray<T> & arr) {
for (int i = 0; i < arr.elements; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return os;
}
【问题讨论】:
标签: c++ templates overloading friend-function template-classes