我想继承SPIFFS类以将其扩展为我的方法。可能吗?

时间:2019-04-08 10:02:16

标签: c++ arduino esp32

我有使用Arduino框架的ESP32项目,但遇到了问题。我想创建我的类,该类将从SPIFFS类继承。只是想添加readConfig方法并在我的项目中使用它。

有可能吗?

我正在使用类似的东西。 SSDReader.h

#pragma once
#include <Arduino.h>
#include <SPIFFS.h>
#include <FS.h>

using namespace fs;
class SSDReader: public SPIFFSFS {
  public:
    void getConfig();

};

extern SSDReader ssd;

SSDReader.cpp

#include "SSDReader.h"

void SSDReader::getConfig() {

}

main.cpp

#pragma once
#include <Arduino.h>
#include "include/SSDReader.h“

void setup() {
  // Init SSDReader
  if (!ssd.begin()) {

  }
}

void loop() {

}

它可以编译,但是ssd是:

.pioenvs/esp32dev/src/main.cpp.o:(.literal._Z5setupv+0x10): undefined reference to `ssd'
collect2: error: ld returned 1 exit status
*** [.pioenvs/esp32dev/firmware.elf] Error 1

谢谢, 问候, 彼得·索雷克

1 个答案:

答案 0 :(得分:0)

Thanks to KIIV I have been able to edit my code like this.

SSDReader.h

#pragma once
#include <Arduino.h>
#include <SPIFFS.h>

using namespace fs;
class SSDReader : public SPIFFSFS {
  public:
    SSDReader() : SPIFFSFS{ SPIFFS } { };
    void getConfig();

  protected:
};

SSDReader.cpp

#include "SSDReader.h"

//SSDReader::SSDReader() {}


void SSDReader::getConfig() {

}

main.cpp

#include <Arduino.h>
#include "include/SSDReader.h"
//#include "include/Display.h"

// Variables
SSDReader ssd;
bool enableSerial = false;

//Display display;

void setup() {
  if (enableSerial)
    Serial.println(9600);

  // Init SSDReader
  if (!ssd.begin()) {

  }

}

void loop() {

}

And it works. Thank you very much. I am going to selfstudy more.