Gert Cuykens wrote:

On Sat, 19 Feb 2005 02:57:53 -0700, Chad Leigh -- Shire. Net LLC
<[EMAIL PROTECTED]> wrote:


On Feb 19, 2005, at 2:51 AM, Gert Cuykens wrote:



On Thu, 17 Feb 2005 13:17:51 +0100, Hubert SokoÅowski
<[EMAIL PROTECTED]> wrote:


On Thu, 17 Feb 2005 13:05:43 +0100
Gert Cuykens <[EMAIL PROTECTED]> wrote:



static void callback( GtkWidget *widget, gpointer   data ){
   g_print ("Hello again - %s was pressed\n", (gchar *) data);
}

why do they put () around gchar ?
why can it not be gchar *data ?


You should learn some more about programming in C before you start
writing GTK apps.

hs


Does anybody want to explain what the () thingies are around gchar * ?



It is a typecast -- coercing "data" to be of type (gchar *) to the
compiler when matching parameter types at compiler time.

Chad




lol :) I wish you could see the expression on my face while reading it :)


Why can i not do this ?

g_print ("Hello again - %s was pressed\n", gchar *data);
or this
gchar *data;
g_print ("Hello again - %s was pressed\n", *data);
or this
gchar *data;
g_print ("Hello again - %s was pressed\n", data);

What does coercing mean ?
Why does the compiler have to match parameters ?

PS what is the difference between ?
A=*data
A=data
A=&data
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


You should really get a book about programming or ask your teacher. These are basic questions about c/c++ programming.

But to answer your question: You need to cast the data, so you can hand data of different but matching type to the function. (eg. you have a pointer to int but the function expects a plain pointer)

Steven
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to