Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
rsp4jack opened this issue Apr 24, 2022 · 1 comment
Open
Assignees

Comments

@rsp4jack
Copy link

rsp4jack commented Apr 24, 2022

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;
@johnsonjh
Copy link
Owner

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

@johnsonjh johnsonjh self-assigned this Apr 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants