Connection Information

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

Connection Type

Type promotion when matching arguments for overloaded functions – PB Docs 2019 – PowerBuilder Library

Type promotion when matching arguments for overloaded functions – PB Docs 2019

Type promotion when matching arguments for overloaded
functions

When you have overloaded a function so that one version handles
numeric values and another version handles strings, it is clear to the
programmer what arguments to provide to call each version of the
function. Overloading with unrelated datatypes is a good idea and can
provide needed functionality for your application.

Problematic overloading

If different versions of a function have arguments of related
datatypes (different numeric types or strings and chars), you must
consider how PowerBuilder promotes datatypes in determining which
function is called. This kind of overloading is undesirable because of
potential confusion in determining which function is called.

When you call a function with an expression as an argument, the
datatype of the expression might not be obvious. However, the datatype
is important in determining what version of an overloaded function is
called.

Because of the intricacies of type promotion for numeric
datatypes, you might decide that you should not define overloaded
functions with different numeric datatypes. Changes someone makes
later can affect the application more drastically than expected if the
change causes a different function to be called.

How type promotion works

When PowerBuilder evaluates an expression, it converts the
datatypes of constants and variables so that it can process or combine
them correctly.

Numbers

When PowerBuilder evaluates numeric expressions, it promotes the
datatypes of values according to the operators and the datatypes of
the other operands. For example, the datatype of the expression n/2 is
double because it involves division — the datatype of n does not
matter.

Strings

When evaluating an expression that involves chars and strings,
PowerBuilder promotes chars to strings.

For more information on type promotion, see Datatype of PowerBuilder
expressions
.

Using conversion
functions

You can take control over the datatypes of expressions by
calling a conversion function. The conversion function ensures that
the datatype of the expression matches the function prototype you want
to call.

For example, because the expression n/2 involves division, the
datatype is double. However, if the function you want to call expects
a long, you can use the Long function to ensure that the function call
matches the prototype:


Document get from Powerbuilder help
Thank you for watching.
Was this article helpful?
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x