函数返回指针到另一种类型的函数-C++

函数返回指针到另一种类型的函数-C++,c++,pointers,C++,Pointers,我有错误:错误返回值类型与函数类型不匹配 有什么问题吗?这有助于: bool (__fastcall fun)(float par1, float par2) { return (par1 == par2) ? true : false; } bool (__fastcall *newFun())(std::string str) { //... return fun; } 也许你想读书 我认为这是一个关于函数指针的很好的讨论。为什么使用std::string?@Qu

我有错误:错误返回值类型与函数类型不匹配

有什么问题吗?

这有助于:

bool (__fastcall fun)(float par1, float par2)
{
    return (par1 == par2) ? true : false;
}

bool (__fastcall *newFun())(std::string str)
{
    //...
    return fun;
}
也许你想读书


我认为这是一个关于函数指针的很好的讨论。

为什么使用std::string?@Quentin这是一个完整代码的框架。parameter std::字符串将在以后使用;您试图返回不匹配的类型。string str不是float par1,float par2。也许一个好的起点是在不知道要做什么的情况下读取编译器错误消息和警告,我们所能告诉您的只是编译器告诉您的:您不能返回指向不同函数类型的指针。
bool (__fastcall fun)(float par1, float par2)
{
    return (par1 == par2) ? true : false;
}

bool (__fastcall *newFun(std::string str))(float par1, float par2)
{
    //...
    return fun;
}

int main()
{
    auto p = newFun("someString");
    cout << p(1.0, 1.0) << endl;
    cout << p(1.0, 1.1) << endl;
    return 0;

}