invalid conversion from ‘const BYTE* {aka const unsigned char*}’ to ‘BYTE_PTR {aka unsigned char*}’

StackOverflow https://stackoverflow.com/questions/23486227

  •  16-07-2023
  •  | 
  •  

Domanda

I don't know why g++ compiler gives me error when compiling this code:

typedef unsigned char BYTE;
typedef BYTE* BYTE_PTR;

const BYTE myByte[] = {0x00, 0xFF};
const BYTE_PTR myByte_ptr = myByte;

compiler gives me this error:

error: invalid conversion from ‘const BYTE* {aka const unsigned char*}’ to ‘BYTE_PTR {aka unsigned char*}’ [-fpermissive]

But this code is OK

const BYTE myByte[] = {0x00, 0xFF};
const unsigned char* myByte_ptr = myByte;
È stato utile?

Soluzione

Duplicate of typedef pointer const weirdness

And in short: const BYTE_PTR is actually unsigned char* const, but not const unsigned char*.

That's why the compiler complains.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top