how to correctly 'typedef' handle types

2014-06-19 Thread midi via Digitalmars-d-learn

import std.stdio;
import core.sys.windows.windows;

int main(string[] argv)
{
HGDIOBJ h;

// Compile error:
	// Error	1	Error: main.foo called with argument types (void*) 
matches both:	D:\Projetos-D\ConsoleApp1\main.d	12

// Error2   main.foo(void* h)   
D:\Projetos-D\ConsoleApp1\main.d17
// Error3   main.foo(void* h)   
D:\Projetos-D\ConsoleApp1\main.d21
foo(h);

return 0;
}

void foo(HGDIOBJ h)
{
}

void foo(HACCEL h)
{
}



I want my 2 overloaded 'foo' functions to be able to 
differentiate when the passed parameter is a HGDIOBJ or a 
HACCEL...but it doesn't compile (error in the code above)


The problem lies in how I am declaring those 2 types cause they 
are aliases for the same base type: 'void*'


dont't know how to solve it! thks for helping


Re: how to correctly 'typedef' handle types

2014-06-20 Thread francesco cattoglio via Digitalmars-d-learn

http://dlang.org/phobos/std_typecons.html#Typedef

Take a look at it. Docs is scarce (pretty sure you will need to 
take a look around to find something) but it should just do what 
you need.


Re: how to correctly 'typedef' handle types

2014-06-20 Thread via Digitalmars-d-learn
On Friday, 20 June 2014 at 07:05:49 UTC, francesco cattoglio 
wrote:

http://dlang.org/phobos/std_typecons.html#Typedef

Take a look at it. Docs is scarce (pretty sure you will need to 
take a look around to find something) but it should just do 
what you need.


The prerelease docs contain more information:
http://dlang.org/phobos-prerelease/std_typecons.html#.Typedef