Thread overview | ||||||
---|---|---|---|---|---|---|
|
August 20, 2012 template and constraints | ||||
---|---|---|---|---|
| ||||
I got a little problem with these code: ____________________ double div(T a, U b)() if( a > 0 && b > 0 ){ // not works T and U unknwn identifier return a / b; } double div(T,U)(T a, U b) if( a > 0 && b > 0 ){ // not works, a and b not known at compile time return a / b; } double div(double a, double b)() if( a > 0 && b > 0 ){ // works but not generic return a / b; } _____________________ The only one who works is a not generic! they are a way? or i need to write for each parameter type? |
August 20, 2012 Re: template and constraints | ||||
---|---|---|---|---|
| ||||
Posted in reply to bioinfornatics | Am 20.08.2012 23:52, schrieb bioinfornatics:
> I got a little problem with these code:
>
> ____________________
> double div(T a, U b)() if( a > 0 && b > 0 ){ // not works T and U unknwn
> identifier
> return a / b;
> }
> double div(T,U)(T a, U b) if( a > 0 && b > 0 ){ // not works, a and b
> not known at compile time
> return a / b;
> }
>
> double div(double a, double b)() if( a > 0 && b > 0 ){ // works but not
> generic
> return a / b;
> }
> _____________________
>
>
> The only one who works is a not generic! they are a way? or i need to
> write for each parameter type?
>
Should work with alias,
double div(alias a, alias b)() if( a > 0 && b > 0 ){
return a / b;
}
|
August 20, 2012 Re: template and constraints | ||||
---|---|---|---|---|
| ||||
Posted in reply to bioinfornatics | On 08/20/2012 11:52 PM, bioinfornatics wrote:
> I got a little problem with these code:
>
> ____________________
> double div(T a, U b)() if( a > 0 && b > 0 ){ // not works T and U unknwn
> identifier
> return a / b;
> }
> double div(T,U)(T a, U b) if( a > 0 && b > 0 ){ // not works, a and b
> not known at compile time
> return a / b;
> }
>
> double div(double a, double b)() if( a > 0 && b > 0 ){ // works but not
> generic
> return a / b;
> }
> _____________________
>
>
> The only one who works is a not generic! they are a way? or i need to
> write for each parameter type?
>
Alias parameters. auto div(alias a, alias b)().
|
August 20, 2012 Re: template and constraints | ||||
---|---|---|---|---|
| ||||
Posted in reply to bioinfornatics | Thanks to Timon Gehr and David ____ double div(alias a, alias b)() if( a > 0 && b > 0 ){ return a / b; } ____ works as expected :-) |
Copyright © 1999-2021 by the D Language Foundation