コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
MIKE猫Soft ◆M1HxkK9fMI2A
2019/8/8 18:13
質問
デバッグ依頼
プロジェクト名TEST001
公開キー【CP3QE334】
理由
変数の多重定義をしていないのにも関わらず、何をどうやってもDuplicate variableと出る。
原因が全く分からないので教えてください。お願いします。

コメント

アバター
あまさとしおん 2019/8/8 18:28 ◆mzDKTVUAtwqE
軽く予想しながら確認したら正解でした

「変数宣言はプログラムの実行順序に関わらず、プログラムの行数が若いほうから認識される」というプチコン3号以来の仕様です。

89行目で DIM MDL_NX(後略) という変数宣言をしていますが
58行目ですでに MDL_NX という変数が使われています。
初めて現れた変数は勝手に宣言されるため、89行目は二重定義です。
アバター
あまさとしおん 2019/8/8 18:31 ◆mzDKTVUAtwqE
初めて現れた変数を勝手に宣言しないようにするには
OPTION STRICT
というものをプログラムの一番最初に書くことでできます。

ただし「変数宣言はプログラムの実行順序に関わらず、プログラムの行数が若いほうから認識される」というルールは変わらないので、変数を使うより前の行にDIMを書かないといけないのは同じです。
アバター
MIKE猫Soft 2019/8/8 20:30 ◆M1HxkK9fMI2A
↑仕様に束縛されたマツコウの末期
アバター
SatoshiMcCloud 2019/8/10 21:35 ◆Z1qfV11i63Jr
せっかく時間をさいて原因を探してくれたのだから、お礼の一つくらいは言った方がいいのでは
アバター
マツコウ (MIKE猫Soft) 2019/8/16 19:31 ◆M1HxkK9fMI2A
あまさとしおんさん≫有難うございます。
まさか、こんな単純なミスだったなんて思いませんでした。(逆に驚いた)
お礼遅くなり、大変申し訳ありませんでした。
SatoshiMcCloudさん≫そうですよね。ご指摘有り難うございます。今後は、気を付けたいとおもいます。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -