这是C 引物加(第六版)中的错别字



在书C 引物中加上我看到以下示例:

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 底漆加(第六版)S。Prata页面:1189

是的,需要半隆,编译器将显示错误,类似于"语法错误:缺少';'..."。

最新更新