C++ - Error: expected unqualified-id before 'mit'
Ich habe ein C++ Programm und wenn ich versuche zu kompilieren gibt es einen Fehler:
calor.h|6|error: expected unqualified-id before ‘using’|
Hier ist die header-Datei für die calor
Klasse:
#ifndef _CALOR_
#define _CALOR_
#include "gradiente.h"
using namespace std;
class Calor : public Gradiente
{
public:
Calor();
Calor(int a);
~Calor();
int getTemp();
int getMinTemp();
void setTemp(int a);
void setMinTemp(int a);
void mostraSensor();
};
#endif
Warum geschieht dies?
Diese Klasse erbt von gradiente
:
#ifndef _GRADIENTE_
#define _GRADIENTE_
#include "sensor.h"
using namespace std;
class Gradiente : public Sensor
{
protected:
int vActual, vMin;
public:
Gradiente();
~Gradiente();
}
#endif
Was wiederum erbt von sensor
#ifndef _SENSOR_
#define _SENSOR_
#include <iostream>
#include <fstream>
#include <string>
#include "definicoes.h"
using namespace std;
class Sensor
{
protected:
int tipo;
int IDsensor;
bool estadoAlerta;
bool estadoActivo;
static int numSensores;
public:
Sensor(/*PARAMETROS*/);
Sensor(ifstream &);
~Sensor();
int getIDsensor();
bool getEstadoAlerta();
bool getEstadoActivo();
void setEstadoAlerta(int a);
void setEstadoActivo(int a);
virtual void guardaSensor(ofstream &);
virtual void mostraSensor();
//FUNÇÃO COMUM
/* virtual int funcaoComum() = 0;
virtual int funcaoComum(){return 0;};*/
};
#endif
Vollständigkeit halber, hier ist definicoes.h
#ifndef _DEFINICOES_
#define _DEFINICOES_
const unsigned int SENSOR_MOVIMENTO = 0;
const unsigned int SENSOR_SOM = 1;
const unsigned int SENSOR_PRESSAO = 2;
const unsigned int SENSOR_CALOR = 3;
const unsigned int SENSOR_CONTACTO = 4;
const unsigned int MIN_MOVIMENTO = 10;
const unsigned int MIN_SOM = 10;
const unsigned int MIN_PRESSAO = 10;
const unsigned int MIN_CALOR = 35;
#endif
Was mache ich falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fehlt ein Strichpunkt am Ende dieser Klasse:
Auch, die Namen von include-guards sind illegal. Namen, die beginnen mit einem Unterstrich und einem Großbuchstaben sind reserviert für die C++ - Implementierung (wie Namen mit einem doppelten Unterstrich) - Sie sind nicht erlaubt zu erstellen, die diese Namen in Ihren eigenen code. Und sollten Sie niemals verwenden:
in einer header-Datei. Und schließlich der Destruktor in der Sensor-Basisklasse sollten fast zweifellos aus virtuelle.
In der gradiente.h haben Sie vergessen, das Semikolon am Ende der Deklaration der Klasse.
Diese benötigen Sie:
Den zusätzlichen Semikolon?
:)
Haben Sie vergessen, lassen Sie das Letzte Semikolon auf die schließenden Klammern,
};
auf die gradiente Klasse.