• xmunk
    link
    fedilink
    arrow-up
    17
    arrow-down
    2
    ·
    8 months ago

    Much better… but can we make it *((void*)(p = p + 1))?

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

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

      • xmunk
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        8 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.