Hey Rob, Bless your heart! That was it! I was going totally crazy trying to figure out what had happened to a routine that used to work and suddenly stopped. I had inadvertently deleted the semi-colon from my derived window class definition in another file and that include file came before the one listed below. I'll know to look for that next time.
Once again, many thanks! Bob rob page wrote: >Could it be this bug? > >http://gcc.gnu.org/ml/gcc-bugs/2004-06/msg03111.html > >Rob. > >On 08/12/05, Bob Caryl <[EMAIL PROTECTED]> wrote: > > >>Hey guys: >> >>I created my own little version of Gtk::MessageDialog that uses >>stdargs.h to create its message string. It is part of a little dynamic >>library I link into my applications. >> >>Code follows: >> >>ErrorDialog.h contains: >> >>#ifndef __FISCAL_ERRORDIALOG_ >>#define __FISCAL_ERRORDIALOG_ >>#include <gtkmm.h> >>#include <stdio.h> >>#include <stdlib.h> >>#include <stdarg.h> >> >>class ErrorDialog >>{ >>public: >> ErrorDialog(gint type, char *formatstr, ... ); >> gint run(void); >> enum { ERROR, QUESTION }; >>protected: >> Gtk::MessageDialog *db; >>}; // ====== > line 22 >> >>#endif >> >>ErrorDialog.cpp contains: >> >>#include "ErrorDialog.h" >>#include "fiscal.c" >> >>int ErrorDialog::run(void) >>{ >> int response = db->run(); >> delete db; >> return response; >>} >> >>ErrorDialog::ErrorDialog(gint type, char *fmt, ...) >>{ >> Glib::RefPtr<Gdk::Pixbuf> fis_icon = >>Gdk::Pixbuf::create_from_inline(-1,fisicon_inline,FALSE); >> >> int n, size = 100; >> char *p, *np; >> va_list ap; >> >> p = (char *)malloc(size); >> >> while (1) >> { >> va_start(ap, fmt); >> n = vsnprintf (p, size, fmt, ap); >> va_end(ap); >> if (n > -1 && n < size) >> break; >> if (n > -1) >> size = n+1; >> else >> size *= 2; /* twice the old size */ >> np = (char *)realloc (p, size); >> p = np; >> } >> >> db = new Gtk::MessageDialog(p, >> FALSE, >> >>(type==ErrorDialog::QUESTION?Gtk::MESSAGE_QUESTION:Gtk::MESSAGE_ERROR), >> >>(type==ErrorDialog::QUESTION?Gtk::BUTTONS_YES_NO:Gtk::BUTTONS_OK) >> ); >> >> free(p); >> db->set_icon(fis_icon); >> db->set_position(Gtk::WIN_POS_CENTER_ALWAYS); >>} >> >> >>I'm getting this error when this is linked into my application: >> >>/home/bob/Projects/fiscal/include/ErrorDialog.h:22: error: multiple >>types in one declaration >> >>Any ideas on what I've done wrong here? >> >>Bob >>_______________________________________________ >>gtkmm-list mailing list >>[email protected] >>http://mail.gnome.org/mailman/listinfo/gtkmm-list >> >> >> > > > _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
