• 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.