D - pointers and integers
- Pavel Minayev (10/10) Dec 29 2001 D doesn't allow to convert integers to pointers. This is great
- Walter (5/15) Dec 29 2001 Hmm, it won't let you do a cast, a-la:
- Pavel Minayev (10/13) Dec 30 2001 Sorry, my fault. The code looked like this:
D doesn't allow to convert integers to pointers. This is great in general, however, I've came to some problems when messing with API - things like MAKEINTRESOURCE and MAKEINTATOM require explicitly defined integer value to be of type char*... not only these, but there are some constants like IDI_APPLICATION that also should be char* while having the very exact value; unfortunately, I don't see any way to do this in D, currently, other than making them all ints and let user do the proper casting where necesarry. Walter, do you have any suggestions how to do this in other way?
Dec 29 2001
Hmm, it won't let you do a cast, a-la: cast(void*)3 ? "Pavel Minayev" <evilone omen.ru> wrote in message news:a0lg1n$2c7b$1 digitaldaemon.com...D doesn't allow to convert integers to pointers. This is great in general, however, I've came to some problems when messing with API - things like MAKEINTRESOURCE and MAKEINTATOM require explicitly defined integer value to be of type char*... not only these, but there are some constants like IDI_APPLICATION that also should be char* while having the very exact value; unfortunately, I don't see any way to do this in D, currently, other than making them all ints and let user do the proper casting where necesarry. Walter, do you have any suggestions how to do this in other way?
Dec 29 2001
"Walter" <walter digitalmars.com> wrote in message news:a0m78n$2pfo$2 digitaldaemon.com...Hmm, it won't let you do a cast, a-la: cast(void*)3 ?Sorry, my fault. The code looked like this: const char* a = cast(char*) 666; ... // a few hundred lines later const int b = a; For some reason, compiler says "unable to cast int to char*" (or whatever it was) pointing at the declaration of a rather than b, even though the latter is wrong...
Dec 30 2001