title: Why are function pointers and data pointers incompatible in C/C++?
body: <p>I have read that converting a function pointer to a data pointer and vice versa works on most platforms but is not guaranteed to work. Why is this the case? Shouldn't both be simply addresses into main memory and therefore be compatible?</p>