COBOL2002 ユーザーズガイド
引数の受け渡しの規則について,説明します。
プログラムのコンパイル時に引数の適合チェックのオプション(-DebugCompati,または-TDInf)を指定すると,CALL文でのプログラム間の引数の整合性をチェックできます。ただし,INVOKE文では有効となりません。
引数の整合性チェックについては,「39.4 プログラム間整合性チェック」を参照してください。
値渡し(BY VALUE指定)のCALL文では,引数に定数を指定できます。
COBOLプログラム間で定数の引数を渡す場合の型の対応について,次に示します。
表18-1 COBOLプログラム間でのデータ項目の型の対応
受け取り側作用対象 | 送り出し側作用対象 | ||||
---|---|---|---|---|---|
呼び出し元に指定された定数 | |||||
数字定数 | 英数字定数 | 浮動小数点数字定数 | ZERO | NULL | |
固定長集団項目 | × | × | × | ||
英字項目 | ○ | × | |||
英数字項目 | ○ | × | |||
英数字編集項目 | × | ||||
外部10進項目 | ○ | × | |||
内部10進項目 | × | ||||
2進項目 | ○ | × | ○ | ||
数字編集項目 | × | ||||
指標データ項目 | ×※ | × | ×※ | ○ | |
オブジェクト参照 | ×※ | × | ×※ | ||
外部浮動小数点数字項目 | × | ||||
単精度内部浮動小数点数字項目 | × | × | × | × | × |
倍精度内部浮動小数点数字項目 | × | × | ○ | × | × |
アドレスデータ項目 | ×※ | × | ×※ | ○ | |
日本語項目 | × | ||||
日本語編集項目 | × | ||||
外部ブール項目 | × | ||||
内部ブール項目 | × | ||||
ポインタ項目 | ×※ | × | ×※ | ○ |
値渡し(BY VALUE指定)のINVOKE文では,引数に定数を指定できます。
INVOKE文に指定された実引数と呼び起こされるメソッドの仮引数は,適合していなければなりません。双方が適合している場合,実引数のデータ属性は,仮引数に指定されたデータ属性と同様になります。
INVOKE文でBY指定を省略した場合,指定された引数の属性,および呼び出し先メソッドに定義された引数の情報によって,仮定されるBY指定が異なります。INVOKE文でBY指定を省略した場合に仮定されるBY指定の内容について,次に示します。
表18-2 INVOKE文でBY指定を省略した場合に仮定されるBY指定の属性
INVOKE文でBY指定を省略した引数の種別 | 呼ばれるメソッド定義の引数のBY指定 | ||
---|---|---|---|
REFERENCE | VALUE | ||
ADDRESS OF 一意名 | REFERENCE | REFERENCE | |
ファクトリ定義,オブジェクト定義 | CONTENT | VALUE | |
プログラム定義 関数定義 メソッド定義 |
ファイル節※ 作業場所節※ 局所場所節 連絡節 通信節※ |
REFERENCE | VALUE |
画面節(WINDOW SECTION)※ サブスキーマ節※ |
CONTENT | VALUE |
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.