[問題] C++ function input arg問題

看板C_and_CPP作者 (這個ID用了15個年頭)時間3年前 (2021/02/17 21:40), 編輯推噓1(106)
留言7則, 4人參與, 3年前最新討論串1/1
開發平台(Platform): Win10 編譯器 C++17 問題(Question): 一個關於C++ function input arg問題 Void f(int a=[](){static int b=1; return b++;}()) { std::cout << a; } void main() { f(); f(); } 測試完後回饋是 12 令我不解地點有兩個 1. Input arg a 屬於甚麼? 2. (){}() <-- 這是個甚麼用法?? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.152.81 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1613569221.A.C50.html

02/17 21:59, 3年前 , 1F

02/17 21:59, 3年前 , 2F
(){}() 是 lambda expression,用法在上面
02/17 21:59, 2F

02/17 22:00, 3年前 , 3F
另外C++ main function不能是void吧
02/17 22:00, 3F

02/17 22:13, 3年前 , 4F
main 那是我筆誤了 要返回main狀態應該是強制int
02/17 22:13, 4F

02/18 17:58, 3年前 , 5F
c++課本沒教那個嗎?該丟了XD
02/18 17:58, 5F

02/18 23:09, 3年前 , 6F
[](){...} <- 這塊是lambda [](){...}() <-這樣是執行
02/18 23:09, 6F

02/18 23:10, 3年前 , 7F
執行結果是個int 然後賦值給a
02/18 23:10, 7F
文章代碼(AID): #1WBHp5nG (C_and_CPP)