Double_t not recognised?

Hello,
after reorganizing one of my class files (just putting the private parts before the public parts, nothing else), CINT suddenly complains about the Double_t’s I use. The first lines of my header look like this: [code]class TPlot {
private:
//disable copies
TPlot& operator= (TPlot const&);
TPlot(TPlot const&);
//============

std::auto_ptr canvas_;
bool lin;
bool log;

bool legendlin;
Double_t xlegendlin;
Double_t ylegendlin;
std::auto_ptr linleg_;[/code]Now, invoking the compiler in CINT, it sais:root [0] .L TPlot.cxx+ Info in <TUnixSystem::ACLiC>: creating shared library /afs/desy.de/user/m/mertz/root/rootue/./TPlot_cxx.so Error: Unexpected EOF G__fgetstream_template():2 /afs/desy.de/user/m/mertz/root/rootue/TPlot.h:1065: Error in <ACLiC>: Dictionary generation failed! Info in <ACLiC>: Invoking compiler to check macro's validity In file included from /afs/desy.de/user/m/mertz/root/rootue/TPlot.cxx:1: /afs/desy.de/user/m/mertz/root/rootue/TPlot.h:24: error: 'Double_t' is used as a type, but is not defined as a type.

What have I done wrong?
Just a few minutes before, the same header (with some public methods declared before the private part) compiled without problems.

ok, after inlcuding some ROOT headers I that use Double_t as well, I got the following: Info in <ACLiC>: Invoking compiler to check macro's validity Info in <ACLiC>: The compiler has not found any problem with your macro. Probably your macro uses something rootcint can't parse.
It seems that it was only the extern Compiler that did not know Double_t, and the error is that CINT is not able to parse parts of standard C++

is there any possibility to let CINT tell me where the parser bails out?
TPlot.cxx (4.22 KB)
TPlot.h (1.26 KB)

Hi,

CINT has a problem with the line: void ShowLegends(unsigned char flags = 1<<0 | 1<<1 );As a workaround use:#ifdef __CINT__ void ShowLegends(unsigned char flags = 3 ); #else void ShowLegends(unsigned char flags = 1<<0 | 1<<1 ); #endifCheers,
Philippe.

Thanks a lot, now it works.