首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用c++没有匹配函数

调用c++没有匹配函数
EN

Stack Overflow用户
提问于 2013-10-08 22:04:33
回答 1查看 222关注 0票数 0

我得到了这个错误。

error: no matching function for call to ‘namespaceA::ClassA<namespaceB::someFunc<short int, 3u>, namespaceB::someFunc<float, 3u> >::funcFromA(int&, void (namespaceB::classB<namespaceB::someFunc<short int, 3u>, namespaceB::someFunc<float, 3u> >::*)(void*), int&)’ note: candidates are: void namespaceA::ClassA<TYPE_A, TYPE_B>::funcFromA(int, void (namespaceA::ClassA<TYPE_A, TYPE_B>::*)(void*), int) [with TYPE_A = namespaceB::someFunc<short int, 3u>, TYPE_B = namespaceB::someFunc<float, 3u>]

类是这样的

ClassA.h

代码语言:javascript
复制
template<typename TYPE_A, typename TYPE_B>
class ClassA {

typedef void (ClassA::*someTypeDef)(void*);

void funcFromA(int A, namespaceA::ClassA<TYPE_A, TYPE_B>::
                  someTypeDef takeFunc, int B);

}

ClassA.cxx

代码语言:javascript
复制
void namespaceA::ClassA::funcFromA(int A, 
          namespaceA::ClassA::someTypeDef takeFunc, int B) {
    // Do something with taken function
}

ClassB.h

代码语言:javascript
复制
template<typename TYPE_A, typename TYPE_B>
class classB {
void classB<TYPE_A, TYPE_B>::CallThisFunc(void *someParm);
    // Do Something
}

ClassB.cxx

代码语言:javascript
复制
template<typename TYPE_A, typename TYPE_B>
void classB<TYPE_A, TYPE_B>::CallThisFunc(void *someParm){
    // Do something
}

template<typename TYPE_A, typename TYPE_B>
void classB<TYPE_A, TYPE_B>::MainFunc() {
    int A = 1;
    int B = 1;
    ClassA->funcFromA(A, &classB::CallThisFunc, B); // <--- Error
}

我试图修复这个错误,但我失败了,它正在折磨我。我该如何解决这个问题?

编辑:我试图实现的基本思想是有两个类,我试图在ClassB中调用ClassB函数,ClassB是模板化的,ClassB方法中的参数之一是typedef。

EN

回答 1

Stack Overflow用户

发布于 2013-10-08 22:49:16

函数ClassA<A, B>::funcFromA()ClassA<A, B>的一个成员函数作为参数。不过,您尝试将它作为参数传递给ClassB<A, B>的一个成员函数。由于ClassA<A, B>ClassB<A, B>是不相关的,这显然是行不通的。

顺便说一句,ClassB<A, B>::CallThisFunc的冗余限制并不能提高代码的可读性,我认为它实际上是非法的,尽管一些编译器接受了它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19259316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档