Array<T>::operator T* (void) const 这是数组类模板中重载指针转换操作符的一个函数名
Array<T>::operatorT*(void)const这是数组类模板中重载指针转换操作符的一个函数名为什么没有返回值呢?...
Array<T>::operator T* (void) const
这是数组类模板中重载指针转换操作符的一个函数名
为什么没有返回值呢? 展开
这是数组类模板中重载指针转换操作符的一个函数名
为什么没有返回值呢? 展开
3个回答
展开全部
T*是指针转换运算符。C++语法规定,重载类型转换运算符时,不允许指定返回值类型(也不要写void)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先帮你把题目补充完整
template<class T>
class Array{
private:
T* alist;
int size;
void Error(ErrorType error,int badIndex=0) const; //错误处理函数
void input(T& t);//控制输入函数
public:
Array();
Array(int sz);
Array(const Array<T>& A);
~Array(void);
Array<T>& operator =(const Array<T>& rhs);
T& operator[] (int i);
operator T*(void) const;
int ListSize(void) const;
void Resize(const int sz);
};
template<class T>
Array<T>::operator T*(void) const
{
return alist;
}
上面是数组类模板的实现,Array<T>::operator T* (void) const
中的T*你没看到吗?这个就返回类型啊!!
和T* operator * (void) const是一样的!!
template<class T>
class Array{
private:
T* alist;
int size;
void Error(ErrorType error,int badIndex=0) const; //错误处理函数
void input(T& t);//控制输入函数
public:
Array();
Array(int sz);
Array(const Array<T>& A);
~Array(void);
Array<T>& operator =(const Array<T>& rhs);
T& operator[] (int i);
operator T*(void) const;
int ListSize(void) const;
void Resize(const int sz);
};
template<class T>
Array<T>::operator T*(void) const
{
return alist;
}
上面是数组类模板的实现,Array<T>::operator T* (void) const
中的T*你没看到吗?这个就返回类型啊!!
和T* operator * (void) const是一样的!!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询