Tutorial 11. Parameters

process、inline function、functionのようにparameterを持つprocedureは、渡された値によって選ばれます。

inline sum(int x, int y)
inline sum(double x, double y)
inline sum(double x, int y)


この三つのinline functionは同じidentifierを持ちますがparameterとして指定されているデータ型が異なります。

inline sum(10,10);
inline sum(10.0,10.0);


前者はsum(int x, int y)が呼ばれます。10はint型の値だからです。後者はsum(double x, double y)が呼ばれます。10.0はdouble型の値だからです。

double d=10;
int i=10;
inline sum(d,i);


この場合、sum(double x, int y)が選択されます。dはdouble型の変数であり、iはint型の変数だからです。

尚、plangにおいてparameterとして渡された値の暗黙の型変換は行われません。よって、inline sum(int x)がinline sum(10.0)によって呼び出されることはありません。


Next: Tutorial 12. References
Prev: Tutorial 10. Classes