Red OOP on function exit

I have a customer vector class (it's a 'bounded vector') object on my stack and when the function end ('}'), I get a red OOP error, the context pop-up suggests there are 2 calls to the dtor from this class. This seems wrong...the stack object should just be destroyed.

댓글 수: 2

Mukul Rao
Mukul Rao 2015년 6월 24일
Can you provide more details, attach some code? It is very difficult to relate to the question at this stage.
Martin Dowie
Martin Dowie 2015년 6월 25일
Sorry, no I can't (confidential) but I think I've solved it - there was an error in the copy-ctor, where it updated a member data (the 'count') before the check for self-assignment. I think Polyspace was considering this value to be uninitialized after the copy if self-assignment was happening, e.g. via a pair of aliases into the unit under test - but given that at some point the only ctor would have to have been called and that initializes the value, so it can't actually happen.

답변 (0개)

이 질문은 마감되었습니다.

질문:

2015년 6월 23일

마감:

2021년 8월 20일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by