【发布时间】:2013-11-22 02:45:03
【问题描述】:
我目前正在研究该功能
function[check] = store( filename, persons )
fid = fopen(filename,'w');
if exist('fid')
check = true;
else
check = false;
end
for i=1:length(persons)
sprintf(fid, '%s\n',serialize_person(persons(i)));
end
end
Serialize_person 返回一个 。 如果 store 函数创建一个名为 'filename' 的 .txt 文件并将 serialize_person(persons(i)) 放在该文本文件中的第 i 行,我想要什么。
但是,即使 serialize_person 本身运行良好,当我尝试运行 store 函数时,我也会收到错误消息
Attempt to reference field of non-structure array.
Error in serialize_person (line 3)
out=sprintf ( '<%s>#%s#<%i>\n' , person.name, serialize_date( person.date_of_birth),
person.phone );
Error in store (line 14)
sprintf(fid, '%s\n',serialize_person(persons(i)));
对可能出现的问题有任何有根据的猜测吗?
【问题讨论】:
-
您确定您在
serialize_person中引用的person变量实际上是一个结构吗?该错误表明它不是。 -
我想我现在已经修好了,应该是 serialize_person(persons{i}) 而不是 (i) ,因为我接受了一个结构单元。
标签: matlab text compiler-errors