.sizeof on templates needs extra parens?
BCS
BCS at pathlink.com
Wed Aug 1 11:20:23 PDT 2007
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
More information about the Digitalmars-d-learn
mailing list