2017-02-22 23 views
1

一個錯字在這本書中C++的Primer Plus我看下面的例子:這是C++的Primer Plus(第六版)

auto mod3 = [](int x){return x % 3 == 0; } //<---- note no semicolon 
conut1 = std::count_if(n1.begin(), n1.end(), mod3); 

在我自己的代碼,我只是試圖以如下方式使用它:

auto compareEntry = [](PCEntry* a, PCEntry* b) { return (a->getSize() < b->getSize()); }; //<--- semicolon 
std::priority_queue< PCEntry*, std::vector<PCEntry*>, decltype(compareEntry) > sorted(compareEntry); 

我有這個代碼的問題,直到我在lambda之後在堆棧溢出發佈後添加了分號。

我的問題:

這是書中的錯誤嗎?還是我錯過了一些東西。 它看起來不一致,對我來說。

以防萬一: 書:C++的Primer Plus(第六版)S.煎餅頁:1189

+2

這是書中的一個錯字。 –

+2

看起來像書中的錯字。那裏應該有一個';'。 – NathanOliver

+0

@NathanOliver謝謝你們。 – Illia

回答

1

是需要分號,編譯器會顯示錯誤,如「語法錯誤的東西:缺少「; 」 ......「。

+0

非常感謝。 – Illia