• Faresh@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    6 months ago

    Why are you casting to void*? How is the compiler supposed to know the size of the data you are dereferencing?

    • xmunk@sh.itjust.works
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      6 months ago

      This would probably cause a compiler error…

      But assuming it doesn’t the context is p_ch = the bits above… the code declaring p_ch isn’t shown but I’m guessing that the value here is actuality a pointer to a pointer so nothing illegal would be happening.

      Lastly… C++ is really lacking in guarantees so you can assign a char to the first byte of an integer - C++ doesn’t generally care what you do unless you go out of bounds.

      The reason I’m casting to void* is just pure comedy.