Why this doesn't compile?
Uranuz via Digitalmars-d
digitalmars-d at puremagic.com
Sat Oct 11 11:01:39 PDT 2014
When I want to pass generic String by const reference I get an
error. As far as I understand const should accept both mutable
and immutable data. And there I want to pass it by reference. Is
it possible? Or is there any reason why it is not? Is it a bug?
void doSmth(String)(ref const(String) str) {}
void main()
{
doSmth("Foo");
}
Compilation output:
/d198/f399.d(5): Error: template f399.doSmth does not match any
function template declaration. Candidates are:
/d198/f399.d(1): f399.doSmth(String)(ref const(String) str)
/d198/f399.d(5): Error: template f399.doSmth(String)(ref
const(String) str) cannot deduce template function from argument
types !()(string)
More information about the Digitalmars-d
mailing list