Cannot perform an implicit cast between these two classes. - Fixed numbers
显示 更早的评论
Hi all
I have a simple Simulink Function, which accepts two uint32 inputs:

I use this function for stateflow transitions. Typically, I would call it as follows:
after_ms(temp_store_wait,500)
where temp_store_wait is a local uint32 variable, and 500 is just a static input.
However, the compiler complains that:

The reason for this, I believe, is that it regards the static number 500 as a double, and I provide it to a function which only accepts uint32 as second argument. To solve this, I call the function as follows:
after_ms(temp_store_wait,uint32(500))
Although this solves the error, it is really cumbersome and clutters the code. In my opinion, it is totally not necessary since a simple number should not implicitly be double as data type, but should back-propagate its data type, similarly as we can do with a simple Constant block in Simulink.
Can I teach the compiler to back-propagate data types for constant values, such that I don't explicitly need to provide the data type?
Many thanks,
Jonas
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Simulink Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!