Mau*_*lma -3 c++ parameters list this
我想写一个递归函数,它给我一个列表的长度.为了使其递归,我在List类头中的函数声明中使用此指针作为默认参数.但编译器给我一个错误......这是代码:
//Header file
#include "Nodo.h"
template < class Tipo >
class Lista
{
private:
Nodo< Tipo >* Prox;
public:
Lista();
bool ListaVuota();
int DimensioneLista(Lista<Tipo>* = this);
void InserisciInCoda(Tipo);
};
//CPP file
template< class Tipo >
int Lista< Tipo >::DimensioneLista(Lista< Tipo >* lista)
{
if(lista->ListaVuota())
return 0;
else
return 1+DimensioneLista(lista);
}
Run Code Online (Sandbox Code Playgroud)
是的,this只能在功能中使用.
最简单的变化是使用NULL作为默认值来代替,然后检查NULL你的功能,并使用this替代
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |