duma icon indicating copy to clipboard operation
duma copied to clipboard

error C2036: “const void *”: unknown size in pointer arithmetic

Open rsp4jack opened this issue 2 years ago • 1 comments

In src/duma.c line 2254:

    void *_duma_memmove(void *dest, const void *src, size_t size) {
      char *d = (char *)dest;
      const char *s = (const char *)src;
    
      if (d < s) {
     --> const char *end = src + size;

In MSVC, it will raise an error:

error C2036: “const void *”: unknown size

Because the compiler needs to know the size of the data it points to do the pointer arithmetic.

Note:

int* p = 0x0; // Just for example
p += 1;
// p is 0x4 now

char* cp = 0x0;
cp += 1;
// cp is 0x1 now

So, change this line to:

const char *end = (const char*) src + size;

rsp4jack avatar Apr 24 '22 12:04 rsp4jack

Thanks, I'll try to get this in this weekend and investigate your other issue.

johnsonjh avatar Apr 24 '22 18:04 johnsonjh