Aslan986
Aslan986

Reputation: 10324

No matching function error

I have this code, which I am trying to compile on Linux with G++-4.7:

TermToGeneCount *tg = new TermToGeneCount();
TermToGeneCount *tgn = new TermToGeneCount();
Dag<int64_t>* dags = new Dag<int64_t>();
//....
getTermToGeneCount(nwPar.getAnnotationRetriever(),dags,tg,tgn);

Where the getTermToGeneCount is defined in the same namespace as:

void DefaultNwBuilder::getTermToGeneCount(const JavaWrapping::javaAnnotationRetrieverWrapper& annRetriever, Dag<int64_t>* dags, TermToGeneCount* tg, TermToGeneCount* tgn) const{
    //..
    }

When I compile I get this error:

error: no matching function for call to ‘cnw::DefaultNwBuilder::getTermToGeneCount(const JavaWrapping::javaAnnotationRetrieverWrapper&, Dag<long int>*&, TermToGeneCount*&, TermToGeneCount*&)’
note: candidates are:

I think that the problem is with the second parameter, becouse if I delete it (both from the call and from the method definition) it works.

Could you please help me?

Upvotes: 1

Views: 84

Answers (1)

mark
mark

Reputation: 5469

Possibly a 32-bit versus 64-bit platform compile kind of issue. The long int in the error does not necessarily map to an int64_t...

Upvotes: 2

Related Questions