Re: CINT dictionary wrong type

From: Margar Simonyan <margar.simonyan_at_gmail.com>
Date: Fri, 6 Jan 2012 13:18:49 +0100


Hi Axel

thanks, since it was working well at the time of writing the code I didn't declare the classes.

Margar

On Fri, Jan 6, 2012 at 1:11 PM, Axel Naumann <Axel.Naumann_at_cern.ch> wrote:
> Hi Margar,
>
> You forgot to expose the definitions of the first parameters' types to
> CINT. At least do
>
> class TGraph;
> class TH1;
> class TGraphErrors;
> class TF1;
>
> outside of
>
> #ifndef __CINT__
>
> Cheers, Axel.
>
>
> On 01/06/2012 12:25 PM, Margar Simonyan wrote:
>> Hi Axel
>>
>> the file is attached.
>>
>> Thanks,
>>      Margar
>>
>>
>> On Fri, Jan 6, 2012 at 12:20 PM, Axel Naumann <Axel.Naumann_at_cern.ch> wrote:
>>> Hi Margar,
>>>
>>> Can you provide a complete example that demonstrates the issue?
>>>
>>> Cheers, Axel.
>>>
>>>
>>> On 01/06/2012 12:18 PM, Margar Simonyan wrote:
>>>> Hello
>>>>
>>>> I have a set of functions which compiled with ACLIC using ROOT 5.26
>>>> and before, but fails starting from 5.28 and above. Seems like CINT
>>>> 5.17 to 5.18 migration issue.
>>>>
>>>> The error looks like
>>>>
>>>> func_cpp_ACLiC_dict.cxx:72: error: no matching function for call to
>>>> ‘func(int**, Int_t, const TString&, Int_t)’
>>>>
>>>> and indeed there is no such a function. The code structure is
>>>>
>>>> #ifndef __CINT__
>>>> #include "XYZ.h"
>>>> void func(TH1 * histo, const TString fileName, const Int_t precision = 3);
>>>> void func(TGraph * graph, const TString fileName, const Int_t precision = 3);
>>>> void func(TGraphErrors * graph, const TString fileName, const Int_t
>>>> precision = 3);
>>>> void func(TH1 ** array, const Int_t n, const TString fileName, const
>>>> Int_t precision = 3);
>>>> void func(TGraph ** array, const Int_t n, const TString fileName,
>>>> const Int_t precision = 3);
>>>> void func(TGraphErrors ** array, const Int_t n, const TString
>>>> fileName, const Int_t precision = 3);
>>>> #endif
>>>> void func(TH1 * histo, const TString fileName, const Int_t precision)
>>>> {  function definitions ....
>>>> }
>>>>
>>>> I tried to replace **array by *array[] but it didn't help. Any suggestion?
>>>>
>>>> Thanks,
>>>>      Margar
>>>>
>>>> -------------------------------------------------------------------------
>>>>  Dr Margar Simonyan,  post-doctoral researcher
>>>>  Niels Bohr Institute, Copenhagen University
>>>> -------------------------------------------------------------------------
>>>>
>>>>
Received on Fri Jan 06 2012 - 13:19:27 CET

This archive was generated by hypermail 2.2.0 : Fri Jan 06 2012 - 17:50:01 CET