从“const BYTE*{又称const unsigned char*}”到“BYTE_PTR{又称unsigned

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

本文关键字:unsigned 又称 const BYTE PTR char      更新时间:2023-10-16

我不知道为什么g++编译器在编译这段代码时会给我错误:

typedef unsigned char BYTE;
typedef BYTE* BYTE_PTR;
const BYTE myByte[] = {0x00, 0xFF};
const BYTE_PTR myByte_ptr = myByte;

编译器给我这个错误:

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

但是这个代码是OK的

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

typepedef指针的重复定义

总之:const BYTE_PTR实际上是unsigned char* const,而不是const unsigned char*

相关文章: