Info

此问题已关闭。 请重新打开它进行编辑或回答。

Red OOP on function exit

1 次查看(过去 30 天)
Martin Dowie
Martin Dowie 2015-6-23
关闭: MATLAB Answer Bot 2021-8-20
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 个)

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by