Opérateur binaire de résolution de portée ?? - Programmation
Marsh Posté le 23-12-2001 à 03:10:54
ça appelle la méthode globale du même nom et nom pas une méthode d'une classe parent.
Marsh Posté le 23-12-2001 à 03:14:00
Ah ok, donc ca appelle
void send_error(NET *net,uint sql_errno=0, const char *err=0);
qui est en dehors de toute classe ?
Et si on avait pas mis de ::, il serait aller chercher la fonction dans la classe même ?
Marsh Posté le 23-12-2001 à 03:16:57
>>Ah ok, donc ca appelle
void send_error(NET *net,uint sql_errno=0, const char *err=0);
qui est en dehors de toute classe ?
oui.
>>Et si on avait pas mis de ::, il serait aller chercher la fonction dans la classe même ?
je n'ai aucune idée du comportement lorsque tu appelles la méthode send_error() dans la méthode send_error(). teste voir si tu l'appelles dans n'importe quelle méthode de la classe, oui, il va chercher la méthode de la classe et non pas la méthode globale.
Marsh Posté le 23-12-2001 à 03:18:09
youdontcare a écrit a écrit : >>Ah ok, donc ca appelle void send_error(NET *net,uint sql_errno=0, const char *err=0); qui est en dehors de toute classe ? oui. >>Et si on avait pas mis de ::, il serait aller chercher la fonction dans la classe même ? je n'ai aucune idée du comportement lorsque tu appelles la méthode send_error() dans la méthode send_error(). teste voir si tu l'appelles dans n'importe quelle méthode de la classe, oui, il va chercher la méthode de la classe et non pas la méthode globale. |
Si je teste je doute que le forum fonctionne très bien après
Marsh Posté le 23-12-2001 à 03:19:32
joce a écrit a écrit : Si je teste je doute que le forum fonctionne très bien après |
c'est justement un test intéressant
c'est du code pour quoi ? le forum est en php, mysql en C, non ?
Marsh Posté le 23-12-2001 à 03:20:33
youdontcare a écrit a écrit : je n'ai aucune idée du comportement lorsque tu appelles la méthode send_error() dans la méthode send_error(). |
en fait non, ça doit appeler la méthode en question, d'où récursion infinie. teste voir quand même
Marsh Posté le 23-12-2001 à 03:22:17
ca fait partie du code source de MySQL (y a un gros boût de C++ dedans )
Marsh Posté le 23-12-2001 à 03:26:40
suffit de regarder le rep /sql/
Code :
|
Marsh Posté le 23-12-2001 à 03:01:32
Quand j'ai ca dans la partie public d'une classe :
virtual void send_error(uint errcode,const char *err)
{
::send_error(&thd->net,errcode,err);
}
Les :: ils veulent dire quoi (pourquoi il y a pas de nom de class avant comme en temps normal ?)
Merci d'avance...
---------------
Protèges carnets personnalisés & accessoires pour bébé