A strange charArray.ptr behavior

Ferhat Kurtulmuş aferust at gmail.com
Wed Dec 2 20:20:11 UTC 2020


given the function:

export void ceaser_enc(char* input, ref char* output);

this compiles:
     char* sezar = (new char[65]).ptr;
     ceaser_enc(key, sezar);

this does not compile:

     char[] sezar = new char[65];
     ceaser_enc(key, sezar.ptr);

by yielding: "cannot pass rvalue argument cast(char*)sezar of 
type char* to parameter ref char* output"

Why is sezar an rvalue in the second case?


More information about the Digitalmars-d-learn mailing list