[英]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.