벡터와 같은 컨테이너에 함수 포인터를 저장하는 방법을 찾고 있습니다. 모든 함수가 동일한 매개 변수를 가질 수 있지만 함수에 개별적으로 고유 한 매개 변수가있는 경우 가능합니다. VS2013 그들을하지 않고 차라리 부스트 라이브러리를 사용하지 않는 게 좋을 때문에 나는 표준 : 기능 또는 표준 : : 바인딩을 사용할 수 없습니다다양한 void 함수 포인터의 벡터를 매개 변수와 함께 저장
#include <iostream>
#include <vector>
using namespace std;
void sayHi() {
cout << "Hi" << endl;
}
void sayNum(int num) {
cout << num << endl;
}
int main() {
vector<void(*)()> funcs; // vector of 0 argument functions
funcs.push_back(sayHi);
funcs.push_back(sayNum); // can't store sayNum because it takes arguments
}
참고. 솔루션은 함수 포인터 벡터를 반복하고 유효한 인수를 사용하여 각 함수를 실행할 수 있어야합니다. P
어떻게이 제품을 사용 하시겠습니까? – juanchopanza
그럼 유효한 대답은 최소한의 '함수'구현일까요? – Columbo
VS2013은'std :: function'과'std :: bind'를 모두 가지고 있습니다. –