作者wintercobra (wintercobra)
看板EE_DSnP
标题[讨论] enum结尾不加;
时间Sun Nov 9 09:59:16 2008
有一次我打enum的时候,内容物的括号{}後面忘了加";"
然後又不太熟用法(就是乱用的意思啦)
就变成这样
#include <iostream>
using namespace std;
int main()
{
enum COLOR{RED,GREEN=3,BLUE} <-----无分号
COLOR=RED; <-----不是COLOR a=RED;
cout << COLOR << endl;
COLOR=GREEN;
cout << COLOR << endl;
COLOR=BLUE;
cout << COLOR << endl;
system("pause");
}
结果compile竟然过了,也输出了0,3,4
不知道是为什麽呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.211.52.242
1F:推 timrau:把enum COLOR {...}和COLOR=RED;接起来就知道了 11/09 10:48
2F:→ timrau:相当於宣告一个variable COLOR with type COLOR 11/09 10:49
3F:→ timrau:然後做了各式各样的事这样 11/09 10:49
4F:→ timrau:所以基本上是对得误打误撞... 11/09 10:49
5F:→ wintercobra:原来enum完可以直接当宣告型态呀... 11/09 11:17
6F:→ wintercobra:还有啊,老师的投影片说,function的default argument 11/09 11:19
7F:→ wintercobra:要在第一次遇到function name的时候就给值 11/09 11:20
8F:→ wintercobra:也几乎就是在function prototype的时候就要指定 11/09 11:20
9F:→ wintercobra:不过如果在prototype不给而在define时才给的话 11/09 11:22
10F:→ wintercobra:只要使用的时候都传值给function(不用到default) 11/09 11:22
11F:→ wintercobra:好像也可以喔 11/09 11:23
12F:推 MrOrz:是说struct也可以这样用,不过老师应该会跳过直接教class XD 11/10 01:35
13F:推 ric2k1:回 function default value 的问题: 好像是吼, 那麽说课本 11/10 11:19
14F:→ ric2k1:写错了而我也没有试过... 11/10 11:20