|
Phil wrote: >This is an undefined operation in C (right up there with 'array[x] = x++'), >and no one reasonably familiar with the language would do it. I can't >think of anything off the top of my head, but I would be very surprised if >RPG were devoid of any statements whose behavior was officially undefined. Surprise! Surprise! Consider the RPG statement "eval x=a+p(a);", where p is a procedure that takes a reference parameter. If the procedure changes the value of the passed parameter, RPG makes no guarantees regarding the final value of the expression. To illustrate, consider the following program: H dftactgrp(*no) D p pr 10i 0 D parm 10i 0 D a s 10i 0 inz(1) /free dsply (%char(a+p(a))); *inlr = *on; /end-free P p b D p pi 10i 0 D parm 10i 0 /free parm += 1; return parm; /end-free P p e Does this program display 3 or 4? Cheers! Hans Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.