请考虑以下代码:
vector<int> myVector;
myVector.push_back(10);
myVector.erase(myVector.end());
Run Code Online (Sandbox Code Playgroud)
此代码在Windows(VisualStudio)上编译并运行良好,但在使用g ++编译时会导致Linux上的段错误.用pop_back替换擦除解决了Linux上的问题.
有谁知道为什么两个平台上的行为不同,以及要考虑的行为是正确的.
提前致谢!