String literal arguments

Yao G. nospamyaoltzin at
Wed Apr 7 00:39:29 PDT 2010

On Wed, 07 Apr 2010 03:05:34 -0400, Simen kjaeraas  
<simen.kjaras at> wrote:

> Yao G. <nospamyaoltzin at> wrote:
>> Hello.
> Greetings.
>> foo( "Hello World", first, second );
>> ---
>> You can notice that the first argument is a string literal. What I want  
>> to know is: If a function argument is declared as a string literal, it  
>> can be accessed at compile time? And if the answer is yes, how can I do  
>> it?.
> Afraid not. What you posted later is the only way to do this. This has
> been discussed several times in the past, and some suggestions have
> popped up, including static function parameters:
> void foo( static string s ) {
>    // s is a compile time constant
> }
> This has however not been implemented.

bearophile and Simen:

Thanks for your answers. Yes, I thought that this was not going to be  
possible. But again, is not a big deal for me. I'll continue to use the  
string-as-template version. I just wanted to explore the possibility,  
because I wanted this function to be consistent with my other code.


More information about the Digitalmars-d-learn mailing list