指向“包含多个函数指针的数组“的指针

来源:互联网 发布:网络语言 英文 编辑:程序博客网 时间:2024/06/05 16:56
//指向“包含多个函数指针的数组“的指针//形式: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;}

阅读全文
0 0
原创粉丝点击