C++省略号类型和参数个数不确定函数参数范例
2015-03-11 20:08
274 查看
声明:所有权利保留。
转载必须说明出处: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; }
参考各个网页。
非常感谢各位。
-----------------
若有问题,请随时联系!
再次致谢!
相关文章推荐
- C++省略号类型和参数个数不确定函数参数范例
- [转]C++如何编写参数个数不确定的函数?
- C++函数参数中的省略号
- C++函数参数中的省略号
- C/C++中stdarg.h或cstdarg编写如printf一样参数可以是变长的任意类型和任意个数的函数
- C++函数参数中的省略号用法分析
- C++函数不定参数函数和类型强制转换
- C#中调用C++的dll的参数为指针类型的导出函数
- 【转】C++函数——指针和引用类型的参数传递
- C++支持参数个数不确定的函数
- C++ const类型引用做函数参数
- c/c++支持可变参数的函数,即函数的参数是不确定的。
- C++中函数中参数和返回值都是用户定义类型(这里主要是类的情况时的分析)
- [C++]实验四:掌握内联函数的使用、参数个数不确定的函数的设计...
- C++函数参数中的省略号用法分析
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)
- C# 调用Dll中非托管C++代码时,函数参数的类型对照
- C# 调用Dll中非托管C++代码,函数参数的类型对照
- C++中 当函数所有参数都需要类型转换时 需要将其声明为non-member函数
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)