나는 여기서 무슨 일이 일어나는 지 전혀 모른다. 나는 R2006b를 사용하고 있습니다. 새로운 버전의 누군가가 버그 리포트를 보내기 전에 동일한 행동을하는지 테스트 할 수 있습니까?구조체와 빈 셀 배열로 MATLAB "버그"(또는 정말로 이상한 동작)
코드 (bug1.m
)
function bug1
S = struct('nothing',{},'something',{});
add_something(S, 'boing'); % does what I expect
add_something(S.something,'test'); % weird behavior
end
function add_something(X,str)
disp('X=');
disp(X);
disp('str=');
disp(str);
end
출력 :
>> bug1
X=
str=
boing
X=
test
str=
??? Input argument "str" is undefined.
Error in ==> bug1>add_something at 11
disp(str);
Error in ==> bug1 at 4
add_something(S.something,'test');
S.something
의 허/무 함수 호출에 대한 인수를 전환 할 수있게 것 같습니다. 이것은 매우 나쁜 행동처럼 보입니다. 단기간에 나는 그것 (나는 구조체의 멤버 인 초기 빈 셀 배열에 항목을 추가하는 함수를 만들기 위해 노력하고있다)을 발견하려고한다.
편집 :
추론 질문 : 그래서 struct
문자가 포함 된 빈 셀 어레이를 구성 할 수있는 방법이 없다?
AH : 감사합니다. 셀 배열을 전달할 때마다 여분의 중괄호를 사용하는 것에 대해 이야기하는 구조체 함수의 메모를 보지 못했습니다. Grrr. –