没有匹配的功能错误

时间:2013-05-03 10:20:56

标签: c++ linux

我有这段代码,我试图使用LinuxG++-4.7上编译:

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

getTermToGeneCount在同一名称空间中定义:

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

编译时我收到此错误:

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

我认为问题出在第二个参数上,因为如果我删除它(从调用和方法定义中删除它)都可以。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:2)

可能是32位与64位平台编译的问题。错误中的long int不一定映射到int64_t ...