我有这段代码,我试图在 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:
我认为问题出在第二个参数上,因为如果我删除它(从调用和方法定义中),它就会起作用。
你能帮帮我吗?
最佳答案
可能是 32 位与 64 位平台编译问题。错误中的 long int
不一定映射到 int64_t
...
关于c++ - 没有匹配函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16356654/