Article View: es.comp.os.linux.programacion
Article #14549Punteros a funciones en C++
From: Vladimir
Date: Sun, 29 Oct 2000 18:22
Date: Sun, 29 Oct 2000 18:22
49 lines
2367 bytes
2367 bytes
Mu buenas: Estoy intentando compilar un programa del que me he bajado los fuentes, pero el muy jod�o no se deja. Todos los errores de compilaci�n que me da son por lo mismo: cuando en alg�n sitio se intenta llamar a una funci�n que tiene alg�n par�metro que es un puntero a funci�n. Por ejemplo, en un m�dulo (Form.h), donde se declara la clase TForm, algunos de sus m�todos son: void Destroy(); void AddSignal(GtkSignalFunc Func, char * Event); GtkSignalFunc est� definida en los chismes del GTK y es: #define GTK_SIGNAL_FUNC(f) ((GtkSignalFunc) f) typedef void (*GtkSignalFunc) (void); Y cuando en Form.C va a compilar las l�neas: AddSignal((GtkSignalFunc)Destroy,"delete_event"); AddSignal(GTK_SIGNAL_FUNC(TForm::Destroy),"destroy"); va y me dice que: Form.C: In method `TForm::TForm(GtkWindowType)': Form.C:35: no matches converting function `Destroy' to type `void (*)()' Form.h:39: candidates are: void TForm::Destroy() Form.C:36: assuming & on `TForm::Destroy' Form.C:36: converting from `void (TForm::*)()' to `void (*)()' make: *** [Form.o] Error 1 He probado a poner el TForm:: delante, y tambi�n el &, pero nada, al final siempre dice que no puede convertir de void (TForm::*)() a void (*)() �Es que en C++ no se trata igual un puntero a funci�n que un puntero a un m�todo de una clase? Despistao estoy, desde luego... saluti, Vladimir - Seguimos mirando el reloj. Tarifa PLANA sin trucos para todos -
Technical Details
Message-ID:
<iipovsknnvs1cgiad4k1i6cebhror9kotf@4ax.com>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!xfer13.netnews.com!netnews.com!news.maxwell.syr.edu!npeer.kpnqwest.net!news!212.73.51.101Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,9ece04ddd9e65ba1,start X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2000-10-29 10:21:30 PST From: Vladimir <spam.a@telefonica.es> Newsgroups: es.comp.os.linux.programacion Subject: Punteros a funciones en C++ Date: Sun, 29 Oct 2000 19:22:44 +0100 Organization: No Message-ID: <iipovsknnvs1cgiad4k1i6cebhror9kotf@4ax.com> X-Newsreader: Forte Agent 1.8/32.548 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit NNTP-Posting-Host: 212.73.51.101 X-Original-NNTP-Posting-Host: 212.73.51.101 X-Trace: 29 Oct 2000 19:21:24 +0100, 212.73.51.101 Lines: 49 Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!xfer13.netnews.com!netnews.com!news.maxwell.syr.edu!npeer.kpnqwest.net!news!212.73.51.101