gpt4 book ai didi

c++ - 下面的代码会产生什么?

转载 作者:太空宇宙 更新时间:2023-11-04 14:39:37 25 4
gpt4 key购买 nike

我不知道这是一个技巧性问题还是什么,但是当我尝试运行这段代码时,我遇到了一些错误。你认为老师忘记输入 #include 行了吗?

#include <iostream>
#include <vector>
using namespace std;

int display(int val) {
cout << val << ",";
}

int main() {
int a[] = {1, -4, 5, -100, 15, 0, 5};
vector<int> v(a, a + 7);

sort(v.begin(), v.end(), greater<int>());
for_each(v.begin(), v.end(), display);
}

.

g++ -ggdb  -c test.cpp
test.cpp: In function 'int main()':
test.cpp:13:41: error: 'sort' was not declared in this scope
test.cpp:14:38: error: 'for_each' was not declared in this scope
make: *** [test.o] Error 1

谢谢

最佳答案

Do you think the teacher forgot to put in an #include line?

是的。

他肯定忘了:

#include <algorithm>

这是算法的标准库 header ,例如 std::sortstd::for_each ,这正是您的编译器所提示的。

顺便说一下,尽管你的编译器没有提示这个(但是),他也忘记了:

#include <functional>

那是像 std::greater<> 这样的仿函数的标准库头文件,您在这里使用它。

此外,你的(老师的?)display()功能应该有void作为它的返回类型,因为它目前不返回任何值。

关于c++ - 下面的代码会产生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14947094/

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