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 Comments

Can you provide more details, attach some code? It is very difficult to relate to the question at this stage.
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.

Answers (0)

This question is closed.

Asked:

on 23 Jun 2015

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!