fonction intrinsèque, ne peut pas être défini (C)
-
01-10-2019 - |
Question
Je mis en place une fonction abs appelé (). Je reçois cette erreur:
fonction Intrinsèque, ne peut pas être défini
Qu'est-ce que je fait de mal? J'utilise Visual Studio 2005.
La solution
fonction Intrinsèque, ne peut pas être défini
Dans ce cas, intrinsèque signifie que le compilateur déjà a une mise en œuvre d'une fonction appelée abs
, et que vous ne pouvez pas redéfinir.
Solution? Change votre nom de la fonction à autre chose, snakile_abs
par exemple.
Consultez la documentation MSDN sur la fonction abs
pour plus d'informations .
Autres conseils
Le problème est de ne pas en-tête ou non.
Le problème est que les fonctions intrinsèques, à savoir, les fonctions que le compilateur reconnaît et met en œuvre elle-même, généralement avec des optimisations qui ne seraient pas disponibles dans le code C seul, ne peut pas être défini.
Les noms de toutes les fonctions mathématiques (voir math.h)
Les noms de toutes les fonctions mathématiques préfixés par 'f' ou 'l'.
sont réservés à la mise en œuvre.
Définir static int abs(int x) { ... }
devrait être légal, mais simplement int abs(int x) { ... }
a un comportement non défini, et donc une chose raisonnable une compilation pourrait faire est question d'une erreur.