how to correctly 'typedef' handle types

midi via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Jun 19 21:51:18 PDT 2014


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
	// Error	2	main.foo(void* h)	D:\Projetos-D\ConsoleApp1\main.d	17
	// Error	3	main.foo(void* h)	D:\Projetos-D\ConsoleApp1\main.d	21
	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


More information about the Digitalmars-d-learn mailing list