Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
'function' : les définitions de fonction locale ne sont pas valides
Remarques
Le code tente de définir une fonction dans une fonction.
Ou bien, il peut y avoir une accolade manquante ou supplémentaire avant l'emplacement où se situe l'erreur C2601.
Exemples
Définir une fonction dans une fonction
Les expressions lambda peuvent être utilisées pour émuler le comportement des fonctions locales :
// C2601a.cpp
int main()
{
int increment(int value) // C2601
{
return value + 1;
}
// Try the following line instead:
// auto increment = [](int value) { return value + 1; };
int two = increment(1);
}
Accolade fermante manquante
Si une fonction précédente manque une accolade fermante, la fonction suivante est considérée comme une fonction locale :
// C2601b.cpp
void func()
{
// missing '}' brace here
int main() {} // C2601