Am Mon, 2002-04-22 um 21.22 schrieb [EMAIL PROTECTED]: > From: Christian Seberino <[EMAIL PROTECTED]> > > > > Thanks so much for this reply! I was really confused > > about this! Can I ask you a follow up question? > > > > Just to make GdkColor be like everything else (a pointer) > > is it OK to try declaring all colors to be pointer (GdkColor*) types???
Since when is everything else a pointer? Don't use pointers if you don't have to. > > Then instead of: > > Colors::myStaticColor.red = 343; > > > > I could hopefully do: > > (*Colors::myStaticColor).red = 343; > > > > or even better, Colors::myStaticColor->red = 343; > > > > Hopefully I can then initialize things to make them look more like a class: > > > > GdkColor* Colors::myStaticColor = (GdkColor*) 0; You're confusing something. A class can be created on stack, as well as allocated in free storage / heap. > This'll get you a nice seg fault. > > You're declaring a pointer, but not allocating any memory. Yes. And there's no reason to make your life harder just for the sake of having a pointer. > > Is there any reason this fantasy should not work??? I tried last nite > > and got seg faults so I don't know if this is not doable or I just > > made a dumb mistake. As you said, GdkColor is a "extern C struc". I'm not > > a "extern C struc" expert. :( Forget that rubbish. There's no 'extern "C" struct'. extern "C" does nothing but specify the C linkage convention for functions -- don't worry if you don't understand this yet. > Go look at any basic C language reference (not C++). Any good C++ book will help you as well. C++ is mostly compatible to C, except for some obscure features that are deprecated in C too. If it weren't compatible, you wouldn't even be able to include GTK+ headers in your program. --Daniel _______________________________________________ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
