Кітапхананы құрастыру мүмкін емес, себебі «Жол түрі түрді атамайды»

Кейбір кодты ардуино эскизінен көшіріп, қайта пайдалануға болатын шағын кітапхананы жазамын. Мәселе мынада, «String does not name».

Бұл менің коды (қысқартылған):

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) {

}

Мен оны құрастыруға тырысқан кезде, мынаны аламын:

/Users/lbedogni/Documents/Arduino/libraries/myESP/myESP.cpp:14:1:   қате: 'class myESP' деген жолда myESP :: String түрін атамайды   macToStr (const uint8_t * mac) {

     

/Users/lbedogni/Documents/Arduino/libraries/myESP/myESP.cpp:22:1:   қате: 'class myESP' деген жолда myESP :: String түрін атамайды   doGet (Жолдық деректер, Жол датчигі, int ұзақтығы) {

Мен импорттың тәртібін өзгертуге, кітапханаларды өзгертуге тырыстым, бірақ ол әлі жинақтамайды.

Кез-келген идея?

2
#include - IDE автоматты түрде String түрін қамтиды, сондықтан сізге бұл қажет емес.
қосылды автор Nick Gammon, көзі

1 жауаптар

MyESP.cpp ішінде синтаксис дұрыс емес. Мұны өзгертіңіз:

myESP::String macToStr(const uint8_t* mac) {
}

myESP::String doGet(String data, String sensor, int duration) {

}

бұған:

String myESP::macToStr(const uint8_t* mac) {
}

String myESP::doGet(String data, String sensor, int duration) {

}

Қайтару түрі - String және функцияны енгізу myESP :: деген сынып атымен префикстендірілуі керек. Әлбетте, сіз іске асырудың ақыл-кеңесін толтыруыңыз керек, немесе сіз көп қателіктер жібересіз, өйткені сіз ештеңе қайтармайсыз.

2
қосылды