gpt4 book ai didi

c++ - 将函数作为参数传递给另一个函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:18:49 24 4
gpt4 key购买 nike

为什么可以有这样的功能

typedef std::vector<someclass> infocontainer;

double function2(const infocontainer&);

void function1(std::ostream&, const std::string&, double function2(const infocontainer&), const infocontainer, const infocontainer);

在主运行中调用时正常运行

function1(std::cout, "astring", function2, did, didnt);

但是当 function2 有第二个参数时它会产生错误。

double function2(const infocontainer&, std::string&);

void function1(std::ostream&, const std::string&, double function2(const infocontainer&, const std::string&), const infocontainer, const infocontainer);

主要

function1(std::cout, "astring", function2, did, didnt);

candidate function not viable: no known conversion from 'double (const infocontainer &, const
std::string &)' to 'double (*)(const infocontainer &, std::string &)' for 3rd argument

最佳答案

“没有已知的转化来自”

double (const infocontainer &, const  std::string &)

“到”

double (*)(const infocontainer &, std::string &)

区别在于第二个参数的const。您可能认为该函数定义为 double function2(const infocontainer&, const std::string&); 但您的编译器不同意。

关于c++ - 将函数作为参数传递给另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19553879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com