作者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