Thread overview |
---|
August 01, 2007 .sizeof on templates needs extra parens? | ||||
---|---|---|---|---|
| ||||
Why do I need extra parentheses to get template.sizeof? class A(T){ T x; }; int y = (A!(int)).sizeof; int z = A!(char).sizeof; // does not compile (line 6) hello.d(6): Error: undefined identifier class A.sizeof hello.d(6): Error: cannot implicitly convert expression (class A.sizeof) of type void to int |
August 01, 2007 Re: .sizeof on templates needs extra parens? | ||||
---|---|---|---|---|
| ||||
Posted in reply to C. Dunn | C. Dunn wrote:
> Why do I need extra parentheses to get template.sizeof?
>
> class A(T){
> T x;
> };
>
> int y = (A!(int)).sizeof;
> int z = A!(char).sizeof; // does not compile (line 6)
>
> hello.d(6): Error: undefined identifier class A.sizeof
> hello.d(6): Error: cannot implicitly convert expression (class A.sizeof) of type void to int
keep in mind that class Name(args) is actually just shorthand for
template A(T){
class A{
T x;
}
}
A!(int) -> A!(int).A
A!(int).sizeof -> A!(int).sizeof // doesn't exits
|
Copyright © 1999-2021 by the D Language Foundation