[英]matlab coder - function with 'char switch'
是这样的:
function [rv] = get_bla(m)
%#codegen
assert(isa(m,'char'));
assert(size(m, 1) >= 1);
assert(size(m, 1) <= 1024);
switch m
case 'xyz'
rv = 1;
case 'xyz1'
rv = 2;
otherwise
error('Unexpected something');
end
在Matlab编码器的上下文中实际上可行吗?
我在用:
codegen -config:dll get_bla
并得到:
SWITCH表达式的大小不确定。
由于C / C ++的“字符数组”必须为静态大小,因此我认为以上操作是不可能的,或者可以解决吗?
尝试使用if
- elseif
语句而不是switch
语句。
if strcmp(m, 'xyz')
rv = 1;
elseif strcmp(m, 'xyz1')
rv = 2;
else
error('unexpected');
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.