类型为'void(ClassName ::)(QString&)'的参数与'void(ClassName ::*)(QString&)'不匹配。
这个问题涉及到C++中函数指针和成员函数指针的区别。在C++中,函数指针是指向普通函数的指针,而成员函数指针是指向类的成员函数的指针。
对于类型为'void(ClassName ::)(QString&)'的参数,它表示一个指向ClassName类的非静态成员函数的指针,该成员函数接受一个QString类型的引用参数并返回void。这种类型的参数可以直接传递给相应的成员函数。
而对于'void(ClassName ::)(QString&)',它表示一个指向ClassName类的成员函数的指针,该成员函数接受一个QString类型的引用参数并返回void。注意到这里多了一个星号(),表示这是一个成员函数指针。
由于函数指针和成员函数指针是不同的类型,所以它们之间是不匹配的。如果要将一个成员函数指针转换为函数指针,需要使用特定的语法来完成,例如使用std::bind或者lambda表达式。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云