C ++错误没有匹配函数调用静态模板方法

埃里克

我试图从另一个类中调用静态方法,但是当我运行它时,它抛出了这个:

PagedArray.cpp:21:37: error: no matching function for call to ‘FileManager::loadPage(int&)’
page = FileManager::loadPage(index);

这是我尝试从中调用的代码:

PagedArray.cpp

#include "PagedArray.h"
#include "../Entidades/FileManager.h"


template <typename T>
int* PagedArray<T>::operator[](int index) {

Page<T>* page = nullptr;

for(int i = 0; i < this->pagesQueue->Size(); i++){
    if(index == ( *(this->pagesQueue->get(i)->getDato()) )->getLineaActual()){
        page = *this->pagesQueue->get(i)->getDato();
    }
}

if(page == nullptr){
    page = FileManager::loadPage(index); //This is the problem
}
return page->getInfo()->get(index)->getDato();

}

这是FileManager类:

文件管理器

#include "../Estructuras/Page.h"


class FileManager {

public:

FileManager();

template <typename T>
static Page<T>* loadPage(int index);
};

FileManager.cpp

#include "FileManager.h"

FileManager::FileManager(){}

template <typename T>
Page<T>* FileManager::loadPage(int index) {
    Page<T>* page = nullptr;
    return page ;
}

loadPage方法中的主体只是为了进行测试,因此我认为它并不真正相关。抱歉,如果我错过了什么,这是我第一次来这里,如果您需要其他内容,请在下面填写

songyuanyao

FileManager::loadPage是一个功能模板,其模板参数无法自动推导。因此,您必须明确指定它。例如

page = FileManager::loadPage<T>(index);
//                          ~~~

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C ++模板:没有匹配的调用函数

C ++错误没有匹配的调用函数

c ++:函数“没有匹配的函数可调用”错误

发生没有匹配的函数来调用C ++中的错误

C ++ Lambda-错误:没有匹配的函数可调用

C ++结构错误“没有匹配的调用函数...”

C ++错误::没有匹配的函数来调用'function'

C++泛型方法给出“没有匹配的调用函数”错误

C ++:没有匹配的函数可调用''

C ++:没有匹配的函数来调用

C++ - 没有匹配的函数调用

C ++错误:没有匹配的函数来调用'print_size'

C ++中的多线程处理时出现“没有匹配的函数调用”错误

C ++ Boost Geometry错误:没有匹配的函数来调用“ assertion_failed”

C ++错误:没有匹配的函数来调用'simplex615 <arbitraryFunc> :: amoeba

如何编译程序时出现错误“没有匹配的函数调用'to_string'”?C++

C ++类错误信息:没有匹配的调用函数

编译错误:“没有匹配函数调用'std :: vector <Card *> :: insert(int,Card *&)'” C ++

C++ string.replace 生成“没有匹配的调用函数”错误

没有解决错误“函数调用不匹配”C++

C ++错误:使用argc,* argv []和多维数组调用void函数时,“没有匹配的函数要调用”

没有足够的模板参数的C ++函数调用

没有匹配的函数错误C ++构造函数

错误:没有匹配的函数调用'sf::RenderWindow::draw(<未解析的重载函数类型>)'| C++ 中的 SFML

在C ++映射中查找值:没有匹配的调用函数

调用 CLASS:CLASSCPP(C++) 没有匹配的函数

C ++-没有匹配的函数来调用'getaddrinfo'

TCP-C ++-没有匹配的函数可以调用

C ++线程-没有匹配的函数来调用