Bonjour tout le monde,

Je suis tombé sur une erreur de syntaxe dans une portion de code de mon projet. Après vérification à l'aide de ma gestion de conf, il s'avère que le développeur a simplement introduit "une erreur" par faute de frappe. L'appel a une fonction a tout simplement était changé pour passer de :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
unsigned long loc_ul_result = Fonction_Toto( arg1, arg2, &arg3) ;
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
unsigned long loc_ul_result = *( arg1, arg2, &arg3) ;
Bon, il s'agit d'une faute de frappe certes, mais qui passe à la compilation sans erreur ni warning, et qui a pour but de toujours renvoyer NULL.

Que signifie cette syntaxe barbare ?
On utilise Visual C++ 6 pour ce projet, est-ce une abération du compilateur, est-ce que sous GCC ca compilerait ?

Est-ce un pointeur sur une fonction toujours nulle (jamais déclarée) donc utilisée certes mais lorsque l'on déréférence cette fonction à l'aide de "*" ça nous renvoie l'adresse mémoire 0x00000000 d'une fonction soit NULL ?

Cette question est juste par simple curiosité de développeur C++ (d'ailleurs, pour le coup, c'est du C, pas du C++ !), sachant que le problème a bien été résolu (la portion de code sous jacente au retour n'était jamais prise en compte !).

Merci a vous.
Alex.