我过去曾经做过很多次,但由于某些原因,我现在无法安静地记住它的语法。假设您有以下内容:
typedef float (*FuncPtr)(float x, float y);
并且你想创建一个类型函数指针的向量来获取函数指针(如上面那个)..
push_back()
一个函数来进行向量化。我过去曾经做过很多次。我只想记住语法。
答案 0 :(得分:2)
不确定您面临的问题是什么,但这是一个将函数添加到函数类型向量的编译示例。 http://ideone.com/fC6lrw
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
typedef float (*MathFunction)(float);
float zero(float){return 0;}
int main(){
std::vector<MathFunction> functions;
functions.push_back(std::cos);
functions.push_back(zero);
return 0;
}
答案 1 :(得分:1)
如果你有C ++ 11,你可以改用
std::vector<std::function<float(float, float)>>;
然后你将能够接收带有捕获的lambdas以及没有lambdas和函数的指针。