D 类型限定符对转换类型没有意义
D type qualifier is meaningless on cast type
"D type qualifier is meaningless on cast type at this line of code"
是什么意思
(*((volatile RCC_t * const)0x400FE060)).USESYSDIV = 1;
以及如何解决?
volatile RCC_t * const
表示指针(不是它指向的东西)是 const
。但这是针对 value,这只是表达式中使用的结果。 const
等限定符是内存中 对象 的属性。所以它在这个演员表中没有任何用处。
这里的问题是const
,它说指针本身不会改变。但是既然它是一个表达式的值,那么它根据定义是不能改变的,它只是是.
这与将 42
转换为 const unsigned char
相同:
printf("%hhu", (const unsigned char)42);
但是 42
的值怎么改变呢?
"D type qualifier is meaningless on cast type at this line of code"
是什么意思 (*((volatile RCC_t * const)0x400FE060)).USESYSDIV = 1;
以及如何解决?
volatile RCC_t * const
表示指针(不是它指向的东西)是 const
。但这是针对 value,这只是表达式中使用的结果。 const
等限定符是内存中 对象 的属性。所以它在这个演员表中没有任何用处。
这里的问题是const
,它说指针本身不会改变。但是既然它是一个表达式的值,那么它根据定义是不能改变的,它只是是.
这与将 42
转换为 const unsigned char
相同:
printf("%hhu", (const unsigned char)42);
但是 42
的值怎么改变呢?