1
我有以下一段代碼,發現我無法將lambda函數的輸出顯式轉換爲bool。我在在線IDE http://ideone.com/上驗證了這一點,並選擇了C++ 14。lambda函數返回類型不工作
#include <iostream>
using namespace std;
int main() {
int number = 10;
int bar = 6;
auto numberisLarger = [&]() -> bool {return number > bar;};
bool isLarger = numberisLarger;
return 0;
}
但是,我收到編譯錯誤如下。
error: cannot convert 'main()::<lambda()>' to 'bool' in initialization
bool isLarger = numberisLarger;
我明確地將其轉換爲布爾,爲什麼它不工作? 謝謝!
'numberisLarger'是一個函數。 –
這樣稱呼:'bool isLarger = numberisLarger();' – Amadeus
投票結束爲「一個簡單的印刷錯誤」,因爲你的代碼缺乏是parens。如果您來自Pascal背景:所有函數都需要在C(++)中顯式調用。 – kay