ラズベリーパイと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>;
これを行うと、setOnFor(1000) Morph.cpp:34:9 エラー: クラス BlinkLED に setOnfor という名前のメンバーがありません Morph.cpp:40:9 エラー: クラス BlinkLED に setOnfor という名前のメンバーがありません
アイデアはありますか?この作品がどうしても見たいです:D