对于类型安全和命名空间功能,我想尽可能使用constexpr
而不是s。#define
不幸的是,我error: 'reinterpret_cast<SPI_TypeDef*>(1073756160)' is not a constant expression
在尝试时得到了这个。
#include <stm32f0xx.h> // #defines SPI2 as pointer to a struct of volatile unsigned ints
constexpr auto myPort = SPI2;
我不是在寻找解释为什么reinterperet_cast
不能在constexpr
.
将 constexpr 指针指向某些内存映射硬件的现代 C++ 方法是什么?
这样做的一个原因是constexpr
在模板化代码中使用这些值。