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 commentaires

Mukul Rao
Mukul Rao le 24 Juin 2015
Can you provide more details, attach some code? It is very difficult to relate to the question at this stage.
Martin Dowie
Martin Dowie le 25 Juin 2015
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.

Réponses (0)

Cette question est clôturée.

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by