【发布时间】:2022-09-30 14:53:36
【问题描述】:
我想在这样的类中将对象指针声明为静态:
class sequencer
{
static HardwareTimer *MyTim;
public:
// etc. etc.
}
HardwareTimer sequencer::*MyTim;
this post 中的用户也有类似的问题,不同之处在于我的是一个指向他们不是的对象的指针。
我使用的格式是从链接帖子中的格式复制而来的,但我收到以下编译器错误:
in function `sequencer::setup()\':
main.cpp:(.text._ZN9sequencer5setupEv+0x60): undefined reference to `sequencer::MyTim\'
如果需要更多信息,这是在 Arduino 环境中使用 stm32duino 内核。我使用的库是here。提前致谢。
-
HardwareTimer sequencer::*MyTim->HardwareTimer* sequencer::MyTim。请注意*位于不同的位置。 -
HardwareTimer sequence::*MyTim将MyTim定义为指向sequencer类型为HardwareTimer的非静态成员的指针。您需要的是HardwareTimer *sequencer::MyTim,它将sequence::MyTim声明为指向HardwareTimer的指针(这与sequencer类中的声明一致)。
标签: c++ class arduino static stm32