Maison  >  Article  >  développement back-end  >  Résoudre le problème de « erreur : « fonction » n'a pas été déclarée dans cette portée » dans le code C++

Résoudre le problème de « erreur : « fonction » n'a pas été déclarée dans cette portée » dans le code C++

王林
王林original
2023-08-27 13:55:482427parcourir

解决C++代码中出现的“error: 'function' was not declared in this scope”问题

Résolvez le problème "Erreur : 'fonction' n'a pas été déclarée dans cette portée" dans le code C++

Dans le processus de programmation C++, vous rencontrez souvent divers messages d'erreur. L'une des erreurs courantes est « erreur : la « fonction » n'a pas été déclarée dans cette portée ». Ce message d'erreur apparaît généralement lors de la compilation, ce qui signifie que la fonction n'est pas déclarée dans la portée actuelle.

Il existe de nombreuses raisons possibles pour ce message d'erreur, mais voici quelques solutions courantes.

  1. Vérifiez le nom de la fonction pour les fautes d'orthographe

Tout d'abord, nous devons vérifier si le nom de la fonction est correctement orthographié. C++ est sensible à la casse, donc une différence entre les lettres majuscules et minuscules peut empêcher la reconnaissance d'une fonction. Par exemple, si le nom de la fonction est "maFonction" mais que "mafonction" est utilisé dans le code, le compilateur signalera une erreur indiquant que la fonction n'est pas déclarée dans la portée actuelle.

Voici un exemple :

#include<iostream>

void myFunction() {
    std::cout << "Hello, World!" << std::endl;
}

int main() {
    myfunction(); // 错误调用
    return 0;
}

Dans cet exemple, le nom de la fonction a une différence de casse entre la déclaration et l'appel. Nous pouvons corriger l'erreur en remplaçant "myFunction" par "myfunction".

  1. Vérifiez où la fonction est déclarée

La deuxième possibilité est que la fonction est déclarée au mauvais endroit. Si une fonction est déclarée après l'endroit où elle est utilisée, le compilateur ne reconnaîtra pas la fonction.

Voici un exemple :

#include<iostream>

int main() {
    myFunction(); // 错误调用

    void myFunction() {
        std::cout << "Hello, World!" << std::endl;
    }

    return 0;
}

Dans cet exemple, la déclaration de la fonction vient après l'endroit où elle est appelée. Nous pouvons corriger l'erreur en déplaçant la déclaration avant l'appel.

  1. Ajouter une déclaration directe de la fonction

Si l'implémentation de la fonction est postérieure à l'endroit où elle est utilisée, nous pouvons résoudre le problème en ajoutant une déclaration directe de la fonction. La déclaration directe signifie déclarer le prototype d’une fonction à l’avance avant de l’utiliser.

Voici un exemple :

#include<iostream>

void myFunction(); // 前向声明

int main() {
    myFunction(); // 正确调用

    return 0;
}

void myFunction() {
    std::cout << "Hello, World!" << std::endl;
}

Dans cet exemple, nous déclarons au préalable le prototype de la fonction "myFunction". De cette façon, la fonction peut être appelée correctement dans la fonction principale.

Avec les trois solutions ci-dessus, nous pouvons résoudre le problème « erreur : la « fonction » n'a pas été déclarée dans cette portée ». Lors de l'écriture de code C++, nous devons faire attention à éviter les fautes d'orthographe, nous assurer que les fonctions sont déclarées au bon endroit et déclarer les prototypes de fonctions à l'avance si nécessaire. Cela peut améliorer la lisibilité et la maintenabilité du programme et réduire l'apparition d'erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn