1

我有这段代码,我试图用它来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:

我认为问题出在第二个参数上,因为如果我删除它(无论是从调用中还是从方法定义中),它都会起作用。

请你帮助我好吗?

4

1 回答 1

2

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

于 2013-05-03T11:00:01.260 回答