zoukankan      html  css  js  c++  java
  • C++省略号类型和参数个数不确定函数参数范例

    声明:所有权利保留。

    转载必须说明出处:http://blog.csdn.net/cartzhang/article/details/44203651


    今天想写个宏定义,发现宏定义里也可以写不定参数,但是我的宏最终没有用。

    因为我觉得写完,这个不定参数给我带来的麻烦,比好处好想多。

    因此我就定义了两个宏,用一个宏定义另一个。


    把今天这个c++的类型不确定和参数个数不确定的用法先记下来。以备后用啊。


    直接代码:

    #include<cstdarg> // 必备头文件
    #include<iostream>
    using namespace std;
    
    typedef enum POSITION_TRACKING_STATE
    {
    	NA = 11,
    	NB,
    	NC
    } TRACKING_STATE;
    
    int Test(TRACKING_STATE state, ...)
    {
    	va_list arg_ptr;
    	int sum = 0;
    	int nArgValue;
    	sum += state;
    
    	va_start(arg_ptr, state);
    	do
    	{
    		nArgValue = va_arg(arg_ptr, TRACKING_STATE);
    		sum += nArgValue;
    		//自定义结束条件是输入参数为0
    	} while (nArgValue != NULL);
    	va_end(arg_ptr);
    
    	return sum;
    }
    
    int main()
    {
    	cout << Test(NA, NB, NC, NULL) << endl;  //必须以NULL 或0 结尾,因为参数列表结束的判断条件是读到0停止
    	return -1;
    }
    


    参考各个网页。

    非常感谢各位。


    -----------------

    若有问题,请随时联系!

    再次致谢!



  • 相关阅读:
    今天在国外网站上做了个测试,结果竟然这样
    中考总算考完了
    [转]从磁芯大战谈汇编
    位运算Pascal相关函数/过程
    本Blog已经迁往Wordpress.com
    PhyTopic测试结果...
    POJ1273 dinic Pascal模板
    C#解析xml文件
    并行和并发
    RI工具库参考
  • 原文地址:https://www.cnblogs.com/qitian1/p/6461962.html
Copyright © 2011-2022 走看看