从“const BYTE*{又称const unsigned char*}”到“BYTE_PTR{又称unsigned
invalid conversion from ‘const BYTE* {aka const unsigned char*}’ to ‘BYTE_PTR {aka unsigned char*}’
我不知道为什么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*
。
相关文章:
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- <Windows>为什么 std::thread::native_handle 返回类型为"long long unsigned int"的值,而不是 void*(又名 HANDLE)?
- 如何格式化我的文本文件以使其不会一遍又一遍地重复同一行?
- 错误:隐式转换更改符号:'int'到'unsigned long'
- 如何使用多次 memcpy 转换回 std::vector<unsigned char>?
- 如何解决隐式转换丢失整数精度:'size_t'(又名"无符号长")到'int'警告?
- 定义 uint= "unsigned int" 没有像我在 Visual Studio 中使用 nvcc 时预期的那样应用
- 如何正确理解回车(又名\r)?
- static_cast<unsigned>(签名)与标准::bit_cast<unsigned>(签名)之间有区别吗?
- 对 '(const Y) (int&, std::mersenne_twister_engine<long unsigned int,
- 为什么当我输入一个大数字时,输出会一遍又一遍地重复?
- 错误:从'void*'到'const uint8_t* {aka const unsigned char*}'的转换无效 [-允许]
- 正确语法,用于统一初始化名称中带有空格的类型的临时,如unsigned int
- C++关键字的用途:&=(又称"and_eq")
- 如何在C 11中使用variadic模板来生成左相关表达式(又称左折)
- 网络对分布式构建又称Distcc的影响
- OpenGL非排他性全屏模式(又称全屏无边界窗口)
- 在C++中多次标记具有相同类型的并集(又称变体)
- 从“const BYTE*{又称const unsigned char*}”到“BYTE_PTR{又称unsigned