2 qq 26315605 qq_26315605 于 2016.04.09 20:14 提问

枚举类型作为函数参数的问题

Date类中声明一个枚举变量
public:enum Month{jan=1,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec};
Date(int,Month,int);
主函数中声明一个Date类变量的时候
My_Code::Date b(2,jan,1992);
会报错,说jan是声明的标识符?参数2如何写是正确的?

2个回答

qq_26315605
qq_26315605   2016.04.09 20:44
已采纳

自己搞懂了
My_Code::Date b(2,(My_Code::Month)9,1992);
b.Show();

CSDNXIAON
CSDNXIAON   2016.04.09 20:22

在做一些和结构体有关的指针、函数参数的数据结构时遇到的一些问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言中枚举类型作为函数入参的陷阱
C语言中,如果函数直接使用枚举类型作为入参,会带来风险,如果外部随意传入 一个大于枚举类型的值,会被强制转换成枚举类型的合法值。也就是说,会强制将数据截断成枚举类型的范围内的值。所以最好是通过typedef将枚举类型定义为UINT32,这样在函数做入参检查时,可以校验枚举值的合法性。 typedef  unsigned int EXAMPLE_EMUM_UINT32; C++不存在
在C语言中函数中使用枚举类型和结构
枚举值的定义 enum eMovePriorityLevel { eMovePriorityLevel_cant_move_unknown, eMovePriorityLevel_cant_move_by_win, ///< 不能移动-已经胜利 eMovePriorityLevel_wall, ///< 不能移动-遇到了墙 eMovePriorityLevel_
【C++】:typedef & 枚举 & inline(内联函数) & static(静态变量)
typedef 作用 用来定义类型的同义词,并没有引入新的类型。 目的 为了隐藏特定类型的实现,强调使用类型的目的。 使类型定义更容易理解。 枚举 简介 枚举的第一个成员赋值为0,后面的成员比前一个值大1。 例子 enum Week{ sun, Mon = 5, Tue, Wed }; //其中sun=0;Tue=6,Wed=7...
JNI中枚举类型作为参数
参考资料:使用JNI进行Java与C/C++语言混合编程(1)--在Java中调用C/C++本地库      java native方法及JNI实例 JNI是Java Native Interface的英文缩写,中文翻译为本地调用, 自从Java 1.1开始就成为了Java标准的一部分. C/C++是系统级的编程语言, 可以用来开发任何和系统相关的程序和类库, 但是Java本身编
枚举形参的使用
<br />enum Stat<br /> {Fail,Pass};<br /><br /><br /> void test(Stat)<br /> {<br />     cout<<"This is a function!"<<endl;<br /> }<br /> <br />void main()<br />{<br />       test(static_cast<Stat>(1));//等同于test(Pass)<br />}
【强大枚举函数】Enum系列
原博客地址:http://blog.sina.com.cn/s/blog_5074c2110100id55.html
如何将枚举变量作为返回值
定义枚举变量类型,设置枚举变量值,将枚举变量作为函数返回值输出。
指针作为函数参数传递时需要注意的问题
#include #include #include void GetMemory(char *p,int num) { p=(char*)malloc(num); } int main() { char *str=NULL; GetMemory(&str,100); strcpy(str,"hello"); printf(str); return 0; }
指针作为函数参数传递的问题
今天编程时遇到了一个问题,就是想写一个函数,让这个函数通过参数返回内存某一个缓冲区的首地址。在网上找了找,发现以下这段代码比较有代表性, 于是复制过来作为一个总结说明。 下面这段代码是正确的,这段代码通过函数申请一片内存区,并将申请到的内存首地址返回给调用函数: void getptr(int **p,int num) { *p=(int *)maccol(num*sizeof(int
函数参数的引用问题&
ieju         为了避免函数参数传递时出现复制情况,函数的形参多采用传递reference,如cv::Mat &image,传递输入图像的引用,不过这样函数可能会对输入图像进行修改,并反映到输出结果上;如果想避免修改输入图像,则函数形参可传递const reference,这样输入图像不会被修改,同时可以创建一个输出图像Mat,将函数处理的结果保存到输出图像Mat中,例如:void c