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.