alias & typedef
Kirk McDonald
kirklin.mcdonald at gmail.com
Tue Jan 9 18:05:19 PST 2007
Heinz wrote:
> Hi,
>
> I just wan't to know the differences between 'alias' and 'typedef' as both do
> the same thing.
>
> Thanks
Aliases provide another name for an existing type. Typedefs declare a
new type which happens to be identical to an existing type. This can
matter in function overloading, for instance:
alias int IntAlias;
typedef int IntTypedef;
void foo(int i) { } // #1
void foo(IntAlias i) { } // #2 ERROR: Ambiguous with #1
void foo(IntTypedef i) { } // #3 Okay
void main() {
int i = 1;
IntAlias j = 2;
IntTypedef k = 3;
foo(i); // ERROR: Call #1 or #2?
foo(j); // ERROR: Call #1 or #2?
foo(k); // Okay, call #3
}
--
Kirk McDonald
Pyd: Wrapping Python with D
http://pyd.dsource.org
More information about the Digitalmars-d-learn
mailing list