2016-05-10 9 views
0

Hier sind einige einfache C++ Quellcode: https://github.com/kenpeter/test_cpp_libC++: 'WiFiClient' Name hat keinen Typ

ich es in Arduino zusammengestellt und ich habe " 'WiFiClient' Name hat keinen Typ". Grundsätzlich möchte ich eine Variable "client" in run_mode.cpp definieren, dann möchte ich sie in mqtt.cpp verwenden.

test_cpp_lib.ino

#include <WiFiClient.h>; 
#include "run_mode.h"; 
#include "mqtt.h"; 

void setup() { 
    Serial.begin(9600); 
} 

void loop() { 
    Serial.println("test"); 
    delay(2000); 
} 

mqtt.cpp

extern WiFiClient client; 

// do something with client 

run_mode.cpp

WiFiClient client; 

run_mode.h

extern WiFiClient client; 

mqtt.h ist leer.

Antwort

0

WiFiClient ist kein integrierter Typ wie int oder char. Es ist eine Klasse, die definiert werden muss (normalerweise in einer Headerdatei), bevor Sie eine Instanz davon erstellen können. In Ihrem Beispielcode gibt es keine solche Definition, aber Sie versuchen, WiFiClient in run_mode.cpp zu instanziieren. Vielleicht muss run_mode.cpp WiFiClient.h enthalten.

Übrigens, Sie dürfen am Ende einer # include-Direktive keine Semikolons hinzufügen.