클래스의 정적 멤버로 저장된 벡터의 모든 요소에서 멤버 함수를 호출해야합니다.일반 함수를 정적 함수에 전달하는 방법
ptfs로이 작업을 수행하려면 코드를 많이 작성해야하지만이 작업에 도움이되는 것보다 <functional>
메커니즘이 있어야합니다.
언어 ++ 03 (VS2010)
예는 C :
난 당신이 몇 주 전에하고 싶었던 것과 비슷한 일을했던class C
{
static std::vector<C*> pool;
void a(){}
void b(){}
void c(){}
static void Call(anymethod am)
{
for(int i=0;i<(int)pool.size();i++)
{
pool[i]->am();
}
}
}`
std::vector<C*> C::pool;
질문에 누락 된 것이 있습니다. 그것은 실제적이고 구체적인 질문 일 것입니다. –
주제 끄기 : 크기를 'int'로 변환하고 루프에서 오버플로가 발생할 위험이 있으므로 색인에 더 적합한 유형을 사용하십시오. 'size_t'는 당신을 위해 그것을해야합니다. – user4581301
항상 클래스 C의 멤버 함수를 호출하려는 경우 멤버 함수에 대한 포인터가 작동합니다. – Phil1970