对于堆栈pop()是无效的,这意味着每当我想要获得顶部和弹出时我需要两行代码:
auto top = s.top();
s.pop();
Run Code Online (Sandbox Code Playgroud)
如果我能这样做会很方便:
auto top = s.pop();
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
#include <stack>
using namespace std;
int main() {
stack<int> s;
int i;
for (i = 0; i <= 10; i++) {
s.push(i);
}
for (i = 0; i <= 10; i++) {
printf("%d", s.pop());
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码有什么问题?
错误:
函数
int main():在预期整数时使用的聚合值