http://www.codeguru.com/forum/showthread.php?t=465960

sorry  for cluttering up the mailing list, I was just looking for help with  
what I thought was a compiler bug. the error message is strange enough  to make 
you think like it's not looking at this as a function prototype,  when the 
problem really is a renaming of an argument type.

it has nothing to do with the function being void.  so the error message is 
bogus.


this compiler error message really needs to be redone with something more 
appropriate.





________________________________
From: Jim Michaels <[email protected]>
To: mingw64 <[email protected]>
Sent: Wed, January 26, 2011 9:13:17 PM
Subject: [Mingw-w64-public] compiler interpreting function prototype as variable


the errors I am getting on this first line indicate to me that mingw-w64 is 
interpreting my function prototype as a variable.
why is this?


I am using the fltk windowing toolkit and its headers.  this function is not 
defined anywhere in fltk.


void OnBTNOKcallback(FL_Button *w, void *userdata);//error: variable or field 
'OnBTNOKcallback' declared void
class CMessageBox/* : public Fl_Window*/ {
    private:
        Fl_Button *msgButton;
        Fl_Text_Buffer *tbuf;
        Fl_Text_Display *td;


    public:
        Fl_Window  *msgboxWindow;

        void OnBTNOK() {
            if (NULL != msgboxWindow) {
                delete msgboxWindow;
                msgboxWindow = NULL;
            }
            delete this;
        }

        CMessageBox(char * wintitle, char * msg) {
            msgboxWindow = new Fl_Window(141, 158, 326, 98, wintitle);

            td = new Fl_Text_Display(5, 5, 315,  55);
            //td->value(msg);
            tbuf = new Fl_Text_Buffer(strlen(msg));
            tbuf->replace(tbuf->line_start(0), tbuf->line_end(0), msg);
            td->buffer(tbuf);
            //msgWindow->add(tbuf);
            msgboxWindow->add(td);

            msgButton = new Fl_Button(120, 35, 70, 25, "&OK");
            msgButton->callback(OnBTNOKcallback);
             msgboxWindow->add(msgButton);

            msgboxWindow->set_modal();
            msgboxWindow->end();
            msgboxWindow->show();
            //msgWindow->run(); //this might have top be called if the dialog 
does nothing.
        }
        ~CMessageBox() {
            msgboxWindow->~Fl_Window();
        }
};
typedef void (CMessageBox::*OnBTNOKMETHOD)();
OnBTNOKMETHOD onbtnokmethod = &CMessageBox::OnBTNOK;


//CMessageBox *msgboxoops;
CMessageBox *msgboxtimesup;
//CHelpBox * helpbox;

void  OnBTNOKcallback(Fl_Button *w, void *userdata) {
    (msgboxtimesup->*onbtnokmethod)();
}




kitchentimer.cpp:402: error: variable or field 'OnBTNOKcallback' declared void
kitchentimer.cpp:402: error: 'w' was not declared in this scope
kitchentimer.cpp:402: error: expected primary-expression before 'void'
kitchentimer.cpp: In constructor 'CMessageBox::CMessageBox(char*, char*)':
kitchentimer.cpp:433: error: 'OnBTNOKcallback' was not declared in this scope

here is the compiler -v switch output:
-----------------------------

Using built-in specs.
Target: i686-w64-mingw32
Configured with: ../gcc44-svn/configure --host=i686-w64-mingw32 
--target=i686-w64-mingw32 --disable-multilib --enable-checking=release 
--prefix=/mingw32 --with-sysroot=/mingw32 
--enable-languages=c,c++,fortran,objc,obj-c++ --enable-libgomp 
--with-gmp=/mingw32 --with-mpfr=/mingw32 --disable-nls --disable-win32-registry
Thread model: win32
gcc version 4.4.5 20101001 (release) [svn/rev.164871 - mingw-w64/oz] (GCC) 
COLLECT_GCC_OPTIONS='-Wall' '-W' '-v' '-O' '-s' '-fstack-check' 
'-static-libgcc' 
'-isystem' '/libpq/' '-isystem' '/libpq/server/libpq/' '-isystem' 
'/prj/fltk/fltk-1.1.10/' '-isystem' '/prj/fltk/fltk-1.1.10/lib/' '-isystem' 
'/prj/zlib-1.2.5/' '-std=c++0x' '-o' 'kitchentimer.exe'  '-mtune=generic'
 
c:/mingw-w32-bin_i686-mingw_20101003_sezero/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.4.5/cc1plus.exe
 -quiet -v -iprefix 
c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../lib/gcc/i686-w64-mingw32/4.4.5/
 -isysroot 
c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../../mingw32 
-isystem /libpq/ -isystem /libpq/server/libpq/ -isystem /prj/fltk/fltk-1.1.10/ 
-isystem /prj/fltk/fltk-1.1.10/lib/ -isystem /prj/zlib-1.2.5/ kitchentimer.cpp 
-quiet -dumpbase kitchentimer.cpp -mtune=generic -auxbase kitchentimer -O -Wall 
-W -std=c++0x -version -fstack-check -o 
C:\DOCUME~1\JIMMIC~1\LOCALS~1\Temp\ccBaB0Ms.s
ignoring duplicate directory "/libpq"
ignoring duplicate directory "/libpq/server/libpq"
ignoring duplicate directory "/prj/fltk/fltk-1.1.10"
ignoring duplicate directory "/prj/zlib-1.2.5"
ignoring duplicate directory  
"c:/mingw-w32-bin_i686-mingw_20101003_sezero/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.4.5/../../../../include/c++/4.4.5"

ignoring duplicate directory 
"c:/mingw-w32-bin_i686-mingw_20101003_sezero/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.4.5/../../../../include/c++/4.4.5/i686-w64-mingw32"

ignoring duplicate directory 
"c:/mingw-w32-bin_i686-mingw_20101003_sezero/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.4.5/../../../../include/c++/4.4.5/backward"

ignoring nonexistent directory 
"c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../../mingw32/mingw32/lib/gcc/i686-w64-mingw32/4.4.5/../../../../include"

ignoring duplicate directory 
"c:/mingw-w32-bin_i686-mingw_20101003_sezero/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.4.5/include"

ignoring duplicate directory 
"c:/mingw-w32-bin_i686-mingw_20101003_sezero/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.4.5/include-fixed"

ignoring duplicate directory  
"c:/mingw-w32-bin_i686-mingw_20101003_sezero/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.4.5/../../../../i686-w64-mingw32/include"

ignoring duplicate directory "/libpq"
  as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/libpq/server/libpq"
  as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/prj/fltk/fltk-1.1.10"
  as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/prj/zlib-1.2.5"
  as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts  here:
 /libpq
 /libpq/server/libpq
 /prj/fltk/fltk-1.1.10
 /prj/fltk/fltk-1.1.10/lib
 /prj/zlib-1.2.5
 
c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../lib/gcc/i686-w64-mingw32/4.4.5/../../../../include/c++/4.4.5

 
c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../lib/gcc/i686-w64-mingw32/4.4.5/../../../../include/c++/4.4.5/i686-w64-mingw32

 
c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../lib/gcc/i686-w64-mingw32/4.4.5/../../../../include/c++/4.4.5/backward

 
c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../lib/gcc/i686-w64-mingw32/4.4.5/include

 
c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../lib/gcc/i686-w64-mingw32/4.4.5/include-fixed

 
c:\mingw-w32-bin_i686-mingw_20101003_sezero\mingw32\bin\../lib/gcc/i686-w64-mingw32/4.4.5/../../../../i686-w64-mingw32/include

 c:\mingw-w32-bin_i686-mingw_20101003_sezero\mi 
ngw32\bin\../../mingw32/mingw/include
End of search list.
GNU C++ (GCC) version 4.4.5 20101001 (release) [svn/rev.164871 - mingw-w64/oz] 
(i686-w64-mingw32)
    compiled by GNU C version 4.4.5 20101001 (release) [svn/rev.164871 - 
mingw-w64/oz], GMP version 4.3.2, MPFR version 2.4.2-p3.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 67b926ffad2570f5a541884eb898e599

 -------------
Jim Michaels
[email protected]
[email protected]
http://JimsComputerRepairandWebDesign.com
http://JesusnJim.com (my personal site, has software)
http://DoLifeComputers.JesusnJim.com (group which I  lead)
---
Computer memory/disk size measurements:
[KB KiB] [MB MiB] [GB GiB] [TB TiB]
[10^3B=1,000B=1KB][2^10B=1,024B=1KiB]
[10^6B=1,000,000B=1MB][2^20B=1,048,576B=1MiB]
[10^9B=1,000,000,000B=1GB][2^30B=1,073,741,824B=1GiB]
[10^12B=1,000,000,000,000B=1TB][2^40B=1,099,511,627,776B=1TiB]
Note: disk size is measured in MB, GB, or TB, not in MiB, GiB, or TiB.  
computer 
memory (RAM) is measured in MiB and GiB.


      
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to