Check template parameter whether it has "length"
    Artur Skawina via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Thu Oct  8 04:28:48 PDT 2015
    
    
  
On 10/08/15 11:29, tcak via Digitalmars-d-learn wrote:
> I am "trying" to write a function that takes an array of items, and returns the length of longest item.
> 
> [code]
> size_t maxLength(A)( const A[] listOfString ) if( __traits( hasMember, A, "length" ) )
> {
>     return 0; // not implemented yet
> }
> [/code]
> 
> I tried it with
> 
> if( __traits( compiles, A.length ) )
> 
> as well. But compiler doesn't match it.
Use `A.init.length` instead of `A.length`.
You could also use something like
   if(is(typeof(A.init.length):size_t))
artur
    
    
More information about the Digitalmars-d-learn
mailing list