//指向“包含多个函数指针的数组“的指针
//形式:void (*(*PP)[2])(int X, int Y);
//包含多个函数指针的数组-->怎样定义:数组中的每个元素都是一个函数指针
#include <iostream>
#include <vector>
void AddFunc(int x, int y)
{
std::cout << (x + y) << std::endl;
}
void Minus(int x, int y)
{
std::cout << abs(x - y) << std::endl;
}
int main()
{
typedef void(*FuncPointer)(int, int);
//void(*(*p3)[2])(int , int );
//定义指向函数指针的数组
void(*p2[2])(int, int) = { AddFunc, Minus };
//相当于p3=&p2;
void(*(*p3)[2])(int, int) = &p2;
std::vector<FuncPointer> FuncPointVec;
for (size_t i = 0; i < 2; i++)
{ //讲函数的头指针差入容器内部中
FuncPointVec.push_back((*p3)[i]);
}
for (size_t i = 0; i < 2; i++)
{
std::cout << "First Type of Outcome Resulting!" << std::endl;
FuncPointVec[i](i*i + 1, i*i - 2);
std::cout << std::endl;
std::cout << "Second Type of Outcome Resulting!!" << std::endl;
(*FuncPointVec[i])(i*i + 1, i*i - 2);
}
return 0;
}
指向“包含多个函数指针的数组“的指针
最新推荐文章于 2021-11-04 19:48:50 发布