Template function that accept strings and array of strings

badlink via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jul 15 14:57:48 PDT 2015


Hello, I can't figure how to write a template function that 
accept either strings or array of strings.

This is my current code:

bool hasItemParent(T)(const(char)[] itemId, const(T)[] parentId)
if (is(typeof(T) == char) || (isArray!T && is(typeof(T[]) == 
char)))
{...}

I used const(T)[] because I'd like to accept immutable and 
mutable strings.
But calling it with an immutable string generate this error:

Error: template cache.MetadataCache.hasItemParent cannot deduce 
function from argument types !()(string, string), candidates are:
cache.MetadataCache.hasItemParent(T)(const(char)[] itemId, 
const(T)[] parentId) if (is(typeof(T) == char))

Any suggestions ?


More information about the Digitalmars-d-learn mailing list