0
私がやりたいことは簡単です。 Arduino:クラスの静的メソッドのstatic変数へのアクセス
- 。
非常に簡単ですが、インターネットに接続した例は見つかりませんでした。 私は何でもします。未定義の `Test :: _ pin 'エラーへの参照! 私はコンパイルしません。
私のクラスのヘッダーTEST.H:
#ifndef Test_h
#define Test_h
#include "Arduino.h"
class Test
{
public:
Test(byte pin);
static byte getPin();
static byte _pin;
private:
};
#endif
私のクラスコードTest.cppの:
#include "Test.h"
Test::Test (byte pin) {
_pin = pin;
}
byte Test::getPin(){
return _pin;
}
StaticClassTest.ino:
#include "Test.h"
void setup()
{
Test(5);
Serial.begin(9600);
Serial.println(Test::getPin(), DEC);
}
void loop() { }
私はすでにアクセスを試みました_ピン:
byte Test::getPin(){
return Test::_pin; // did NOT work, reference error
}
理想的には、_pinは非公開で、getPin()によってアクセス可能である必要があります。 しかし、この変数を設定/取得することは不可能なので、私はより多くの機会を得るために公開しました。
この単純な状況では何が間違っていますか?
このクラスでこの変数を設定または取得するにはどうすればよいですか? Test.cpp
アドオンで
で
詳細情報あなたはそれが働いたTest.cppの中に、この2番目の定義で@KIIVありがとうございました!私はまだ驚いて混乱しています。なぜこの2番目のメモリ割り当てが必要なのでしょうか?この例外のために私は約6時間を過ごしました: - /もう一度、ありがとう!乾杯、 – Trevor