Bazı kodları arduino taslağından çıkarmak ve tekrar kullanılabilir hale getirmek için küçük bir kütüphane yazıyorum. Sorun, "String bir tür ismini vermediğinden" derlenmemesidir.
Bu benim kodum (azaltılmış):
myESP.h:
#ifndef MYESP_H
#define MYESP_H
#include "Arduino.h"
#include
#include
#include
#include
#include
#include
#include
class myESP {
private:
const char* _ssid;
const char* _password;
const char* _host;
public:
myESP();
myESP(char * ssid, char * pwd, char * host);
String macToStr(const uint8_t* mac);
String doGet(String data, String sensor, int duration);
};
#endif
myESP.cpp:
#include
#include "Arduino.h"
#include "myESP.h"
myESP::myESP() {}
myESP::myESP(char * ssid, char * pwd, char * host) {
_host = host;
_password = pwd;
_ssid = ssid;
}
myESP::String macToStr(const uint8_t* mac) {
}
myESP::String doGet(String data, String sensor, int duration) {
}
Derlemeyi denediğimde, şunları elde ederim:
/Users/lbedogni/Documents/Arduino/libraries/myESP/myESP.cpp:14:1:
error: 'class' sınıfındaki 'string', myESP :: String türünde bir isim vermiyor
macToStr (const uint8_t * mac) {
/Users/lbedogni/Documents/Arduino/libraries/myESP/myESP.cpp:22:1:
error: 'class' sınıfındaki 'string', myESP :: String türünde bir isim vermiyor
doGet (Dize verileri, Dize sensörü, int süre) {
İthalatın sırasını değiştirmeye çalıştım, kütüphaneleri değiştirdim ama yine de derleme yapmıyor.
Herhangi bir fikir?