Pointer, if pointed type is unknown?

H. S. Teoh via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Aug 2 13:33:26 PDT 2014


On Sat, Aug 02, 2014 at 08:21:35PM +0000, seany via Digitalmars-d-learn wrote:
> In my previous post
> (http://forum.dlang.org/thread/jcaomfduqeofobculgli@forum.dlang.org) I
> asked for an array of pointers to different types, as a stack for my
> own, where I can generate and insert runtime variables.
> 
> However, seems like I need to know the type of variable the pointer is
> pointing to. That is,
> 
> double pi = 3.14159;
> size_t ptr = cast(ulong)π // so far oky
> 
> double pi_2 = *ptr; // this is where things break down
> 
> won't work.
> 
> What can I do if the type of the variable is not known?

You can't do anything unless you do runtime type introspection, say via
TypeInfo (i.e., typeid(x)). But for non-classes, typeid doesn't give
very much information either.

Sounds like what you really want is to use a Variant:

	http://dlang.org/phobos/std_variant.html


T

-- 
You are only young once, but you can stay immature indefinitely. -- azephrahel


More information about the Digitalmars-d-learn mailing list