0

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;
teymourlouie
  • 6,645
  • 2
  • 21
  • 13
  • 1
    Duplicate of http://stackoverflow.com/questions/8504411/typedef-pointer-const-weirdness – Mine May 06 '14 at 05:04

1 Answers1

1

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.

Community
  • 1
  • 1
Mine
  • 4,123
  • 1
  • 25
  • 46