急!请高手指教c++如何定义一个参数个数不确定的函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!请高手指教c++如何定义一个参数个数不确定的函数?相关的知识,希望对你有一定的参考价值。

请高手指教c++如何定义一个参数个数不确定的函数?
该函数参数不确定,没有具体的参数,请高手指教.(请给个列子)

  VA_LIST是在C语言中解决变参问题的一组宏,所在头文件:#include <stdarg.h>,用于获取不确定个数的参数。

  VA_LIST的用法:

    首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针;

    然后用VA_START宏初始化刚定义的VA_LIST变量;

    然后用VA_ARG返回可变的参数,VA_ARG的第二个参数是你要返回的参数的类型(如果函数有多个可变参数的,依次调用VA_ARG获取各个参数);

    最后用VA_END宏结束可变参数的获取。


以下是一个定义一个参数个数不确定的函数的简单例子:

#include <cstdarg>
#include <iostream>
using namespace std;
double average ( int num, ... )

  va_list arguments;                     // A place to store the list of arguments
  double sum = 0;
  va_start ( arguments, num );           // Initializing arguments to store all values after num
  for ( int x = 0; x < num; x++ )        // Loop until all numbers are added
    sum += va_arg ( arguments, double ); // Adds the next value in argument list to sum.
  va_end ( arguments );                  // Cleans up the list
  return sum / num;                      // Returns some number (typecast prevents truncation)

int main()

  cout<< average ( 3, 12.2, 22.3, 4.5 ) <<endl;
  cout<< average ( 5, 3.3, 2.2, 1.1, 5.5, 3.3 ) <<endl;

参考技术A 可以用重载函数, 把你这个函数不确定的个数或者参数不一样都可以定义一遍,遇到你输入的参数,他会自己找匹配的运行. 参考技术B #include <iostream>
#include <cstdarg> //contain va_start,va_arg,va_end

using namespace std;

int sum(int num, ...)

va_list parg;
int arg;
int s;
int i;

va_start(parg, num);
for (s = 0, i = 0; i < num; i++)

arg = va_arg(parg, int);
s += arg;

va_end(parg);

return s;


int main()

cout<<sum(1,1)<<endl; //1
cout<<sum(2,1,2)<<endl; //1+2
cout<<sum(3,1,2,3)<<endl; //1+2+3
cout<<sum(4,1,2,3,4)<<endl;//1+2+3+4

return 0;

va_list(用于定义va_list型变量,该变量作为引用的指针)、va_start(用于建立扫描参数表的起始指针)、va_arg(用于解析参数表中的参数,接受一个va_list型变量和下一个希望出现的数据类型)和va_end(顾名思义)。
参考技术C int c
我都不知道怎么回答你的问题了

新建域服务器后无法在Users里新建用户请高手指教

新建域服务器后无法在Users里新建用户请高手指教
提示“无法更新密码,为新密码提供的值不符合字符域的长度、复杂性或历史要求”


密码已经很长了又有字母又有数字都不行
用的是Administrator用户

参考技术A 你设置的密码不复合要求,要有一定的长度,复杂性。把密码改复杂点试试 。要不就是你不具有创建用户的权力。设置用户权限试试。 参考技术B 在域安全策略里把密码策略设置得低一些本回答被提问者采纳

以上是关于急!请高手指教c++如何定义一个参数个数不确定的函数?的主要内容,如果未能解决你的问题,请参考以下文章

请高手指教!!这个图标怎么去掉??

电脑与CNC连接如何设置,请高手指教

小妹急求数据结构习题的一些答案 请高手指教!!

请高手帮忙翻译英语,急!!!!!

新建域服务器后无法在Users里新建用户请高手指教

如何隔行设置单元格填充色,如奇数列为红色,偶数列为绿色,请高手指教!