-3

リストの長さを与える再帰関数を書きたいと思います。再帰的にするには、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);

}
4

1 に答える 1

5

はい、this関数内でのみ使用できます。

最も簡単な変更は、代わりにデフォルト値として使用し、関数をNULLチェックして代わりに使用することですNULLthis

于 2013-10-22T09:56:49.913 に答える