我寫後續碼:初始化通過在C++ lambda表達式
static int count = []()->int
{
int count = 0;
for(int i = 0; i < categories.size(); ++i)
{
if(!categories[i].isCategory())
{
count++;
}
}
return count;
};
,並得到誤差:error: cannot convert '__lambda0' to 'int' in initialization
。
確實我的代碼片段的含義是指定__lambda0
到static int count
而不是返回內部計數?
是的,你要指定的拉姆達(功能),而不是它的評價。你需要實際調用lambda。 – heinrichj