🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #14549

Punteros a funciones en C++

#14549
From: Vladimir
Date: Sun, 29 Oct 2000 18:22
49 lines
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.101

Show 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