How do I make Polyspace understand a dereferenced pointer function parameter?

2 visualizzazioni (ultimi 30 giorni)
The project I'm analyzing has functions that have dereferenced pointers as the parameters:
extern void func( Custom_Type &func_param );
where "Custom_Type" is a typedef-ed struct object. Lines like this give me a
extern void func( Custom_Type &func_param );
^ Expected a ")"
error in Polyspace (Bug Finder) in front of where the ampersand (&) is located. I was able to fix this error by changing the
&func_param --> * func_param
in place with the processing script option, but then that just leads to numerous errors complaining about types not matching (which makes perfect sense since the parameter type was changed).
Is there a way to inform Polyspace that the parenthesis it's expecting is at the end of the line and that the dereferenced pointer is valid?

Risposta accettata

Alexandre De Barros
Alexandre De Barros il 24 Gen 2017
Modificato: Alexandre De Barros il 25 Gen 2017
Hello,
In C, this syntax
extern void func( Custom_Type &func_param );
is not valid.
I guess that you should use the C++ mode of Polyspace, because the & character in a declaration represents a reference in C++.
Best regards,
Alexandre

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by