HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0818
木口小平これ、どこがまちがっているんでしょうか?3解決


木口小平

リンク

2018/8/18(Sat) 16:08:36|NO.85118

『変数名が指定されていません。』と出るのですが・・・。


#defcfunc MakeLegalMoves int playNum, int from     playNum = 5 return playNum #deffunc player local playNum, local from playNum = MakeLegalMoves(playNum, from) pos 100,100 mes playNum return



この記事に返信する


Velgail

リンク

2018/8/18(Sat) 16:37:00|NO.85119

#module空間にしまいましょう。

#module #defcfunc MakeLegalMoves int playNum, int from     playNum = 5 return playNum #deffunc player local playNum, local from playNum = MakeLegalMoves(playNum, from) pos 100,100 mes playNum return #global player

といった感じかな。

-----
私はいつも、
「#deffunc, #defcfuncを利用するときは#module空間にしまおう」と言っている。
流派として、gotoで飛ばすという人もいるけど、後のC言語等のためにこう言っている。



あらや

リンク

2018/8/18(Sat) 18:53:30|NO.85120

#deffuncでも同じですが
#defcfuncでの引数(エイリアス)の型がint,str,doubleなどの場合
変数として扱うとエラーになったはずです。

どちらかというと定数のように考えると近いかもしれません。


エラーになる例

#defcfunc Kansu int p1 p1 = 5; // このように変数として扱うとエラーになる


エラーにならない例1

#defcfunc Kansu int p1 p1_sub = p1; // このように一旦、別の変数にいれてから p1_sub = 5; // なんらかの計算等を行なう形ならばOK

エラーにならない例2

#defcfunc Kansu var p1 p1 = 5; // intではなくvarで宣言しているため変数として扱える



木口小平

リンク

2018/8/18(Sat) 19:51:32|NO.85121

うまくいきました。ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.