error: expected identifier before '(' token

bao
Hi,

I am trying to compile pdf-filter to support printing for mini2440. I ran
to the strange error when compiling with 
arm-unknown-linux-uclibcgnueabi-g++

The error occur at the line of putchar function

sudo
/home/bao/work/buildroot/output/staging/usr/bin/arm-unknown-linux-uclibcgnueabi-
g++
--sysroot=/home/bao/work/buildroot/output/staging -Ioprs -Iopvp -I../opvp
-I../.. -I.. -D_CUPS_SOURCE -I/usr/include/poppler -I/usr/include/poppler
-I/usr/include/poppler -DPDFTOPDF -pipe -O2 -mtune=arm920t -march=armv4t
-mabi=aapcs-linux  -I/home/bao/work/buildroot/output/staging/usr/include
-I/home/bao/work/buildroot/output/staging/include  -c test.cxx
In file included from test.cxx:1:
test.h:14: error: expected identifier before '(' token
test.h:14: error: expected identifier before '(' token
test.cxx:18: error: expected unqualified-id before '(' token


Below is the test.h and test.cxx file:

test.h:
#ifndef _TEST_H_
#define _TEST_H_

//#include "goo/gtypes.h"

//#include <config.h>
#include <stdio.h>

class test {
public:
  test();
  ~test();

  int putchar(char c); 
 
};

#endif


And the test.cxx file:

#include "test.h"
//#include <stdarg.h>
//#include <string.h>
//#include <Error.h>



/* Constructor */
test::test()
{

}

test::~test()
{
}

int test::putchar(char c)
{

}


Can any one give me some advice?

Thank you

davef
<error: expected identifier before '(' token> in Google didn't help?

Some of them were interesting reading.

davef
Not a C++ programmer but shouldn't there be a int main()

open-nandra
Google doesn't help ;). Just change putchar to some other name (putchar is
from libc). I change to put_char and compile fine ;).

marek

bao
Thank Marek,

I changed before as a work around. The problem is this function is used a
lot in other modules, so I have to change them all.

Is there another way to fix it? (Rebuild the compiler, change the compile
flag, etc). Can it be considered as a bug of gcc that should be fixed.

Regards,

BAO

davef
Reserved keyword?

bao
Yes, the putchar is the standard name. But I can compile this code with
native g++ without error. And this function is an override function in this
class, so it should not be a problem.