E2355 Fonction modèle récursive : 'x' a instancié 'y' (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

Le compilateur a détecté une instance récursive de fonction modèle. Par exemple :

    template<class T> void f(T x)
    {
       f((T*)0);   // fonction modèle récursive
    }
    void main()
    {
       f(0);
    }

Le compilateur affiche un message pour chaque instance imbriquée de l'instanciation récursive, ce qui facilite la recherche de la récursivité. Pour corriger un modèle récursif, changez les dépendances ou fournissez une version spécialisée qui arrêtera la récursivité. Par exemple, l'ajout de la définition de fonction suivante au code ci-dessus supprimera la récursivité infinie :

    void f(int **)
    {
    }