看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 有人問到,為什麼不能把function宣告在main中,是不是法則上本身就不行 比如說variable的scope都是有規定他的性質。 因為有人問了突然不知該怎麼解釋,我從沒想過這種問題 XD 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++ 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.69.118
MOONRAKER:因為這是規定的。 12/25 14:29
twotwoone:語言的規格,沒什麼好解釋。 12/25 14:29
horngsh:純粹是語言制定者愛好的問題, 在Pascal中就可以在函式中再 12/25 14:33
horngsh:定義函式. 12/25 14:33
那有沒有可以唬爛的解釋,比如每個function就像個thread,若要在其中什麼什麼 C++在系統架構上無法做到之類的可以劃吼覽 ※ 編輯: WhisperGhost 來自: 59.124.69.118 (12/25 14:47)
freesamael:因為這樣做沒有意義,找不到實際用途 12/25 14:56
freesamael:不過你可以在function裡加一大堆{}... 12/25 14:56
int main() { struct A{ void func() { cout << "test" << endl; } } tmp; tmp.func(); } 別人試這樣 ok... ※ 編輯: WhisperGhost 來自: 59.124.69.118 (12/25 15:02)
VictorTom:你上面的例子, func相當於是struct A的member function 12/25 15:13
VictorTom:所以這個例子你是可以在main裡define struct....:) 12/25 15:13
ilway25:用functor來假裝一下好了 12/25 15:16
littleshan:nested function 怎麼會沒用,尤其是配合 closure 12/25 15:16
littleshan:可惜標準規格一直沒把它加進去 12/25 15:16
MOONRAKER:你要畫虎爛,就說C誕生的時候認為這樣沒啥用,就好了 12/25 15:25
james732:不過gcc的extension支援這個特性...XD 12/25 15:28
james732:http://ppt.cc/7Yo7 12/25 15:29
legnaleurc:沒 closure 真的很可惜 /_\ 12/25 15:29
remmurds:老實說...這篇真的有點莫名奇妙= =" 12/25 15:55
soniclin:別人這樣試當然ok... 12/25 18:47
MOONRAKER:這哪會莫名其妙?沒其他語言經驗的人才覺得莫名其妙吧! 12/26 16:48
ledia:推樓上 XD 12/26 23:10