Format.convert problme
grauzone
none at example.net
Mon Apr 6 00:37:32 PDT 2009
Qian Xu wrote:
> grauzone wrote:
>
>> Check if the variable is a pointer, and if yes, dereference it:
>>
>> alias typeof(i) T;
>> static if (is(T T2 : T2*)) {
>> T2 i2 = *i;
>> Format.convert("{}", i2);
>> } else {
>> Format.convert("{}", i);
>> }
>
> Hi again,
>
> I cannot compile this code
What exactly are you doing? What do you want to do? Without knowing
this, we can only guess. My first reply to you was also just a guess. I
thought maybe you had a templated function, and wanted to dump a
templated variable, or so.
Anyway, here's a complete version of my example above. It uses
Stdout.formatln instead of Format.convert, but this shouldn't matter at all.
import tango.io.Stdout;
void main() {
int v = 55;
int *pv = &v;
//pv (an int pointer) can be exchanged with v (an int),
//and it still works
auto i = pv;
alias typeof(i) T;
static if (is(T T2 : T2*)) {
T2 i2 = *i;
Stdout.formatln("{}", i2);
} else {
Stdout.formatln("{}", i);
}
}
More information about the Digitalmars-d-learn
mailing list