我有这段代码,我试图使用Linux
在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);
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:
我认为问题出在第二个参数上,因为如果我删除它(从调用和方法定义中删除它)都可以。
你能帮帮我吗?答案 0 :(得分:2)
可能是32位与64位平台编译的问题。错误中的long int
不一定映射到int64_t
...