Nope! Miscellaneous address calculations are (and were) generally done with char * not void *. IIRC the primary difference between ANSI C and C++ regarding void * is that in C you can assign a void * to another pointer without a cast, but in C++ you need to do a cast. Bob Ammerman RAm Systems ----- Original Message ----- From: "Jim Tellier" To: Sent: Friday, July 23, 2004 11:19 PM Subject: Re: [OT:] Basic C pointer problem > Bob Ammerman wrote: > > > The ANSI standard states that you *cannot* perform arithmetic on a void *. > > Any compiler that permits such behavior is not enforcing ANSI. > Umm,, I think that depends upon which version of the ANSI standard you're > talking about. If I recall correctly, that "restriction" only came about > with the introduction of the "const" concept. Prior to that (and I > honestly > don't recall when that was, or (in the worst case) I'm confusing my C++ with > my "C" (! :^)... I think it was most often completely "legal" (by the > compiler > writer's rules) to do arithmetic on void *'s , even though it was (mostly) > frowned upon by the "purists" (in whose camp I generally pitch my tent). > I seem to recall lots of usage of void* explicitly for the purpose of doing > "address calculation", e.g. for register-address offsets, etc. > Eh? > Jim -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu