我正在玩我的树莓派和 gpio。一切都很好,我现在正试图在每次移动矩形碰到屏幕边缘时点亮 LED 灯。
为了帮助打开和关闭 LED,我有一个 BlinkLED 类
#pragma once
#include "GPIOClass.h"
class Blienter code herenkLED
{
public:
BlinkLED(string gpionum);
void update(float dt);
void setOnfor(int ms);
void finish();
private:
GPIOClass m_LED;
int m_time2Shine;
};
在另一个名为 Morph.cpp 的文件中,我尝试运行 setOnFor(1000)
#include "Morph.h"
#include "BlinkLED.h"
template <typename T>
Morph<T>::Morph()
{
};
template <typename T>
Morph<T>::Morph(T min, T max, T v)
: m_min(min)
, m_max(max)
, m_v(v)
, m_cycles(0)
, m_LED(NULL)
{
m_current = getRandom(min, max);
m_period = getRandom(min, max);
m_flip = (getRandom(0, 1) > 0);
};
template <typename T>
void Morph<T>::setLED(BlinkLED* LED)
{
m_LED = LED;
}
template <typename T>
T Morph<T>::update(float dt)
{
if(m_current >= m_max)
{
m_flip = true;
if(m_LED)
m_LED->setOnFor(1000);
}
else if(m_current <= m_min)
{
m_flip = false;
if(m_LED)
m_LED->setOnFor(1000);
}
else if(m_cycles >= m_period)
{
m_flip= !m_flip;
m_period = getRandom((int)m_min, (int)m_max);
m_cycles = 0;
}
float direction = m_flip ? -1.0 : 1.0;
m_current += direction * (T)getRandom((T)0, (T)m_v);
m_cycles += 1;
return m_current;
};
template class Morph<int>;
template class Morph<float>;
当我这样做时,我得到 2 个错误,每个 setOnFor(1000) Morph.cpp:34:9 错误:BlinkLED 类没有名为 setOnfor 的成员 Morph.cpp:40:9 错误:BlinkLED 类没有名为 setOnfor 的成员
有人有什么想法吗?我真的很想看这个作品:D