ページの先頭行へ戻る
NetCOBOL for .NET V8.0 メッセージ集
FUJITSU Software

2.4.300 JMN3546I-S

@1@のコレクション要素は@2@に格納できません.

引数の説明

@1@:

配列オブジェクトの一意名

@2@:

配列要素が格納される一意名

      000001 IDENTIFICATION DIVISION.
      000002 PROGRAM-ID. C3546.
      000003 ENVIRONMENT      DIVISION.
      000004 CONFIGURATION    SECTION.
      000005  REPOSITORY.
      000006     CLASS     STGAR  AS  "System.String[]"
      000007     INTERFACE IDISP  AS  "System.IDisposable"
      000008     .
      000009 DATA DIVISION.
      000010 WORKING-STORAGE SECTION.
      000011  01  OBJSTGAR   OBJECT REFERENCE  STGAR.
      000012  01  OBJIDISP   OBJECT REFERENCE  IDISP.
      000013 LINKAGE SECTION.
      000014 PROCEDURE DIVISION.
      000015      PERFORM  VARYING  OBJIDISP THRU OBJSTGAR
      000016        INVOKE  OBJIDISP "Dispose"
      000017      END-PERFORM.
      000018      .
      000019 END PROGRAM C3546.
    

C3546I.cob (15) : JMN3546I-S 'OBJSTGAR'のコレクション要素は'OBJIDISP'に格納できません.

詳細な説明

コレクションを操作するPERFORM文では,THRUの前に記述された一意名-1は,THRUの後に記述された一意名-2が示すコレクションの,個々の要素を格納できるデータ型である必要があります.

この組み合わせの選択の目安は,「代入の適合」の規則です.一意名-2のコレクション要素から一意名-1への代入を想定したとき,型の組み合わせが「代入の適合」の規則に反していなければ,翻訳でエラーになることはありません.

なお規則を満足していない場合でも,必ず翻訳エラーになるわけではありません.例えばコレクション要素がSystem.Object型などの場合には,それが保持するオブジェクト自体は一意名-1に格納可能な型である可能性があります.このような場合は翻訳エラーとはせずに,暗黙のAS修飾(キャスト)を展開します.