wanra 发表于 2010-8-30 21:59

将script文件转成function时出现错误

将script文件转成function时出现错误:Error: File: D:\MATLAB704\toolbox\matlab\eeglab\eeglab\external\fieldtrip-20090702\classification\toolboxes\gerven\bayesbrain\utilities\param.m Line: 14 Column: 4
Illegal use of reserved keyword "end".
程序运行正常,只有在command window中输入mcc -m TimeFrequency时,出现上述错误。不知道什么原因,网上的帖子也都学习了,关于function的说明也看了,但是仍然不能解决问题。请大家帮忙

ChaChing 发表于 2010-8-31 00:36

mcc个人没玩过! 说真的懒得学
但从错误讯息"Illegal use of reserved keyword "end". ", 建议检查下end的使用是否有误!?

wanra 发表于 2010-8-31 09:50

本帖最后由 ChaChing 于 2010-9-1 00:46 编辑

param.m是matlab自带的函数,其函数如下:
classdef param < handle
%PARAM parameter class
%
%Derived from handle and contains a cell array; used to represent parameters and
%allows sharing of parameters (i.e., equivalence classes).
%
%   Copyright (C) 2008Marcel van Gerven
%
%   $Log: param.m,v $
%
   properties
       value   % can be anything
   end
   methods
       function obj = param(value)
         obj.value = value;
       end
   end
end
我查了自己的程序,因为不加function的时候是可以运行的,所以程序应该是没有问题,但是为什么加了function就不行呢?难道function有什么特殊的要求吗?   

wanra 发表于 2010-8-31 22:05

问题已经解决。不知道是不是matlab7版本不支持vs2008的原因,我重新安装了R2009a,运行成功。

ChaChing 发表于 2010-9-1 01:03

恭贺LZ解决问题了, 个人class还真没用过! 长期用v5.3, 新版还在边学!:@L
大约看下help了, classdef param < handle, 后面怎怪怪的!
还有LZ说的”转成function”及”加function”指的是第一行加function吗?
vs2008是什么?:handshake

TNC 发表于 2010-9-1 05:13

从Matlab 2008开始才能支持VS2008

vs2008指的是Microsoft Visual Studio 2008

wanra 发表于 2010-9-1 09:51

首先要谢谢ChaChing一直以来的帮助。
1.加‘function’就是指在第一行加function
2.vs2008是Microsoft Visual Studio 2008

   
页: [1]
查看完整版本: 将script文件转成function时出现错误