C++ C++;返回函数指针的函数
存在接受4个参数的函数add。前三个参数是对const int的引用,第四个参数是bool。函数返回int的指针 函数make_add_to接受3个参数。第一个是指向与Add函数具有相同结构的函数的指针,第二个参数是对const int的引用,第三个参数是bool。此函数返回指向函数的指针,该函数引用const int并返回int的指针 add_to是指向函数的指针,它是从函数make_add_to返回的 谁能完成这个?但我不确定“确保添加到”是否正确C++ C++;返回函数指针的函数,c++,function,pointers,C++,Function,Pointers,存在接受4个参数的函数add。前三个参数是对const int的引用,第四个参数是bool。函数返回int的指针 函数make_add_to接受3个参数。第一个是指向与Add函数具有相同结构的函数的指针,第二个参数是对const int的引用,第三个参数是bool。此函数返回指向函数的指针,该函数引用const int并返回int的指针 add_to是指向函数的指针,它是从函数make_add_to返回的 谁能完成这个?但我不确定“确保添加到”是否正确 #include <iostream
#include <iostream>
using namespace std;
int * add(const int &x1, const int &x2, const int &x3, bool y);
int * (*make_add_to(const int &x5))(int *(*f)(const int &x1, const int &x2, const int &x3, bool y),const int &x4, bool y);
int main()
{
int x=3,y=2,z=1;
//cout << *dodaj(x,y,z,true);
int *(*ptr)(const int &x1, const int &x2, const int &x3, bool y) = &add;
//cout << *ptr(x,y,z,true);
// (*dodaj_do)
}
int * add(const int &x1, const int &x2, const int &x3, bool y)
{
int * re = new int;
int x = x1+x2+x3;
re = &x;
return re;
}
#包括
使用名称空间std;
整数*相加(常数整数和x1,常数整数和x2,常数整数和x3,布尔y);
整型*(*使之与(常数整型和x5)相加)(整型*(*f)(常数整型和x1,常数整型和x2,常数整型和x3,布尔y),常数整型和x4,布尔y);
int main()
{
int x=3,y=2,z=1;
//cout这应该有效:
#include <iostream>
using namespace std;
int* add(const int &x1, const int &x2, const int &x3, bool y);
int* (*make_add_to(int*(const int&, const int&, const int&, bool),const int &x4, bool y))(const int&);
int main()
{
int x=3,y=2,z=1;
auto res_add = add(x,y,z,true);
cout << *res_add;
int* (*ptr)(const int &x1, const int &x2, const int &x3, bool y) = &add;
auto res_add_ptr = ptr(x,y,z,true);
cout << *res_add_ptr;
/* might leak memory before reaching here */
delete res_add;
delete res_add_ptr;
}
int * add(const int &x1, const int &x2, const int &x3, bool y)
{
int *re = new int{0};
*re += x1+x2+x3;
return re;
}
#包括
使用名称空间std;
整数*相加(常数整数和x1,常数整数和x2,常数整数和x3,布尔y);
int*(*使之与(int*(常数int&,常数int&,常数int&,bool),常数int&x4,bool y)相加)(常数int&);
int main()
{
int x=3,y=2,z=1;
自动恢复添加=添加(x,y,z,true);
cout功能
int * (*make_add_to(const int &x5))(int *(*f)(const int &x1, const int &x2, const int &x3, bool y),const int &x4, bool y);
未使用,且未使用
make_add_to接受3个参数首先是指向与add function具有相同结构的函数的指针,第二个参数是对const int的引用,第三个参数是bool。此函数返回指向引用const int并返回指向int的指针的函数的指针
它是一个指向函数的指针,该函数包含3个参数…
问这个问题,而不是命令我们完成一些事情。/coutre=&x;
是一个bugint x=x1+x2+x3;int*re=&x;返回re;使用fptr=int*(*)(const int&,const int&,const int&,bool);
会让你的代码更容易阅读。
int * (*make_add_to(const int &x5))(int *(*f)(const int &x1, const int &x2, const int &x3, bool y),const int &x4, bool y);