How do I make Polyspace understand a dereferenced pointer function parameter?
3 次查看(过去 30 天)
显示 更早的评论
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?
1 个评论
Chinmayi Lanka
2017-1-20
The issue might be with the Custom_Type. Is the Custom_Type known to Polyspace?
采纳的回答
Alexandre De Barros
2017-1-24
编辑:Alexandre De Barros
2017-1-25
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
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Bug Finder Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!