Th1f in a structure

Hello,

I am trying to create a structure containing TH1F histo

[code]void main(){

 struct a{
        TH1F h;} b;
    
       b.h(" ", " ", 10, 0, 10);}

[/code]

but the constructor doesn’t work… why? which is the correct way to call it?

Hi,

this is illegal C++: for the compiler you are trying to call a method of the histogram (default constructed) with 5 arguments, two const char* and 3 ints.
To achieve what I think you are aiming to, you should implement a class and initialise the contained histogram in the constructor.

hi danilo, thanks for your advice!

If i use a pointer the constructor seems to work

[code]void main(){

 struct a{
        TH1F *h;} b;

       b.h=new TH1F(" a", "a ", 10, 0, 10);

b.h->Fill(5);
b.h->Draw(); }[/code]

also the Fill function seems to work. But there is problem when I call Draw function…

What problem?

root crashes…

so I will follow the advice you gave me! thanks!