由于向量初始化错误而导致分段错误之前抛出错误消息
我对 C++ 还很陌生。 我处于以下情况:我需要调整 std 向量的大小,我不知道它是否已正确初始化。
如果向量未初始化,则会导致分段错误。
有什么方法可以检查向量是否正确初始化? 有没有办法在程序因分段错误而崩溃之前打印一条消息?
谢谢!
I'm pretty new of c++.
I am in the following case: I need to resize an std vector which I don't know if it was correctly initialized.
If the vector was not initialized this cause a segmentation fault.
Is there any way to check if the vector where correctly initialized?
Is there any way to print a message before the program crash for the segmentation fault?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
向量具有确保它们始终正确初始化的构造函数。问题可能出在类或您存储在向量中的任何内容上。发布一些说明问题的代码。
vectors have constructors that ensure they are always correctly initialised. The problem is probably with the class or whatever that you are storing in the vector. Post some code that illustrates the problem.
矢量使用所包含对象的默认构造函数。对于像调整大小这样的操作,将使用此默认构造函数。如果调整大小时出现段错误,则可能是由于构造函数中的问题所致。
vector uses the default constructor of the contained object. For an operation like resize, this default constructor will be used. If it segfaults on resize, its probably due to a problem in your constructor.