#include <iostream>
#include <cstdarg>
using namespace std;

typedef int (*PCALLBACK)(int nCount,va_list vlist);

int addInt(int nCount,va_list vlist)
{
    int sum = 0;
    for (int i=0;i<nCount;i++)
    {
        sum+=va_arg(vlist,int);
    }
    return sum;
}

void func(PCALLBACK pCall,int nCount,...)
{
    va_list valist;
    va_start(valist,nCount);
    cout<<pCall(nCount,valist)<<endl;
    va_end(valist);
}

int main()
{
    func((PCALLBACK)addInt,4,1,2,9,-4);
    return 0;
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-02
  • 2021-11-09
  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
  • 2022-12-23
猜你喜欢
  • 2021-06-01
  • 2021-10-14
  • 2022-12-23
  • 2021-08-14
  • 2022-02-15
  • 2022-12-23
  • 2021-11-12
相关资源
相似解决方案