gpt4 book ai didi

c++ - linux中g++编译器下的lambda表达式

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:20:09 25 4
gpt4 key购买 nike

我需要使用 c++ find_if() lambda 表达式,在我的 vc 编译器中它编译没有任何错误,但我无法在 linux:debian:g++4.4 中编译它:

-CPP函数:

    istream_iterator<string> it = find_if(istream_iterator<string>(ss),
f,
[=](const string& str)
{return str == to_string(urlHash);});

-错误输出:

    -error: expected primary-expression before '[' token
-error: expected primary-expression before '=' token
-error: expected primary-expression before ']' token
-error: expected primary-expression before 'const'

问题 1:这是一个与版本相关的 c++ 问题,尽管使用了 -std=c++0x 标志,但没有任何变化。

问题 2:我不能使用 -std=c++11 标志,尽管我在我的机器上安装了 gcc 4.7。

谢谢;

最佳答案

question 1 : is this a version related problem of c++, despite using the -std=c++0x flag, nothing changes.

是的。 GCC 4.4 不支持 Lambda。您将需要升级到或安装 4.5 或更高版本。参见 here了解更多详情。

question 2 : i can't use -std=c++11 flag, despite that i installed the gcc 4.7 in my machine.

这不是问题。

关于c++ - linux中g++编译器下的lambda表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23292502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com