C++ queue 中不可以存放 vector<int>吗?

2020-07-10 09:58:05 +08:00
 516310189i

queue<vector<int>> q; 当调用 q.front()时为什么返回值是 void 呢

2662 次点击
所在节点    C++
7 条回复
dbskcnc
2020-07-10 10:00:05 +08:00
完全没问题
BrettD
2020-07-10 10:07:02 +08:00
你怎么看到返回 void 的?
516310189i
2020-07-10 10:37:14 +08:00
使用 auto a = q.front();的时候会提示错误
Cant instantiate the variables of type void
CLion 里提示也显示 front 返回值是 void
coderfox
2020-07-10 11:19:01 +08:00
http://cpp.sh/6cs3h

没有发现这个问题。
wutiantong
2020-07-10 11:20:49 +08:00
先改成 std::queue<std::vector<int>>再聊
Akiyu
2020-07-10 11:52:10 +08:00
@516310189i
http://www.cplusplus.com/reference/queue/queue/front/
front 不会返回 void(至少不是 void 类型).
而返回 "空" 仅在 queue 为空的情况下. 但是即使这样, 也只会在使用返回值时报错. 而并非在 front 返回的时候.
除非编译器或者标准库做了检查. 但一般不会这样.
方便提供一下原始代码, 库和编译器的版本么?
516310189i
2020-07-10 12:47:10 +08:00
啊 是 CLion 的问题,CLion 提示错误,但是运行没错,是我傻了。感谢大家:)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/688772

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX