D型限定符对铸型没有意义。

问题描述 投票:0回答:1

什么是 "在这行代码中,D型限定符对铸型没有意义 "的意思?

    (*((volatile RCC_t * const)0x400FE060)).USESYSDIV = 1;

以及如何解决?

c eclipse arm embedded cortex-m
1个回答
3
投票

volatile RCC_t * const 说指针(不是它指向的东西)是 const. 但这是为一个 价值,这只是表达式中使用的一个结果。限定符,如 const 的属性 对象 在记忆中。所以在这个剧组中,它没有任何作用。


2
投票

这里的问题是 const其中指出: 指针 本身是不会改变的。但是,既然它是一个表达式的值,那么根据定义,它就不能改变,它只是 .

这和铸造是一样的 42const unsigned char:

printf("%hhu", (const unsigned char)42);

但是,你怎么会可以的价值 42 无论如何改变?

© www.soinside.com 2019 - 2024. All rights reserved.