Ok, the best that I have come up with is to use: auto ACS_ULCORNER()() { return acs_map[cast(ubyte)'l']; } which you can call using addch(ACS_ULCORNER()); There is an extra set of '()' that aren't there in the C version, but I haven't come up with anything that would allow me to remove them... Thanks for your help.