Kdevelop #include <string> Probleme

R

rdg

???
Hi,

ich will ein Progamm schreiben und bekomme trotz #include <string> die Fehlermeldung "error: 'string' does not name a type".

Könnt Ihr mir bitte helfen
Danke
Rdg
 
Kannst du mal ein bisschen Code posten? Der Fehler kann sich ja auch auf was anderes beziehen und nicht unbedingt auf die #include Zeile.
 
#include <string>

class ...{
public:
string Name;
...();
~...();
};

eigentlich ganz simple, .h habe ich auch schon probiert.
 
Und jetzt noch die genaue Fehlermeldung, muss man denn alles aus dir rausquetschen ^^
 
cd '/home/rdg/daten/C++/Linux/arbeitszeiten/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k
gmake all-recursive
gmake[1]: Entering directory `/home/rdg/daten/C++/Linux/arbeitszeiten/debug'
Making all in src
gmake[2]: Entering directory `/home/rdg/daten/C++/Linux/arbeitszeiten/debug/src'
if g++ -DHAVE_CONFIG_H -I. -I/home/rdg/daten/C++/Linux/arbeitszeiten/src -I.. -O0 -g3 -MT arbeitszeiten.o -MD -MP -MF ".deps/arbeitszeiten.Tpo" -c -o arbeitszeiten.o /home/rdg/daten/C++/Linux/arbeitszeiten/src/arbeitszeiten.cpp; then mv -f ".deps/arbeitszeiten.Tpo" ".deps/arbeitszeiten.Po"; else rm -f ".deps/arbeitszeiten.Tpo"; exit 1; fi
/home/rdg/daten/C++/Linux/arbeitszeiten/src/arbeitszeiten.cpp:8:22: error: smallint.h: Datei oder Verzeichnis nicht gefunden
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cmitarbeiter.h:16: error: ‘smallint’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cmitarbeiter.h:17: error: ‘smallint’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cbereich.h:9: error: ‘smallint’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cbereich.h:11: error: ‘smallint’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:11: error: ‘date’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:12: error: ‘time’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:13: error: ‘time’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:14: error: ‘time’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:18: error: declaration does not declare anything
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:18: error: ISO C++ forbids declaration of ‘Nachricht’ with no type
gmake[2]:
if g++ -DHAVE_CONFIG_H -I. -I/home/rdg/daten/C++/Linux/arbeitszeiten/src -I.. -O0 -g3 -MT cmitarbeiter.o -MD -MP -MF ".deps/cmitarbeiter.Tpo" -c -o cmitarbeiter.o /home/rdg/daten/C++/Linux/arbeitszeiten/src/cmitarbeiter.cpp; then mv -f ".deps/cmitarbeiter.Tpo" ".deps/cmitarbeiter.Po"; else rm -f ".deps/cmitarbeiter.Tpo"; exit 1; fi
*** [arbeitszeiten.o] Fehler 1
In file included from /home/rdg/daten/C++/Linux/arbeitszeiten/src/cmitarbeiter.cpp:1:
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cmitarbeiter.h:9:22: error: smallint.h: Datei oder Verzeichnis nicht gefunden
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cmitarbeiter.h:16: error: ‘smallint’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cmitarbeiter.h:17: error: ‘smallint’ does not name a type
gmake[2]: *** [cmitarbeiter.o] Fehler 1
if g++ -DHAVE_CONFIG_H -I. -I/home/rdg/daten/C++/Linux/arbeitszeiten/src -I.. -O0 -g3 -MT cbereich.o -MD -MP -MF ".deps/cbereich.Tpo" -c -o cbereich.o /home/rdg/daten/C++/Linux/arbeitszeiten/src/cbereich.cpp; then mv -f ".deps/cbereich.Tpo" ".deps/cbereich.Po"; else rm -f ".deps/cbereich.Tpo"; exit 1; fi
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cbereich.h:9: error: ‘smallint’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cbereich.h:10: error: ‘string’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/cbereich.h:11: error: ‘smallint’ does not name a type
gmake[2]:
if g++ -DHAVE_CONFIG_H -I. -I/home/rdg/daten/C++/Linux/arbeitszeiten/src -I.. -O0 -g3 -MT carbeitszeit.o -MD -MP -MF ".deps/carbeitszeit.Tpo" -c -o carbeitszeit.o /home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.cpp; then mv -f ".deps/carbeitszeit.Tpo" ".deps/carbeitszeit.Po"; else rm -f ".deps/carbeitszeit.Tpo"; exit 1; fi
*** [cbereich.o] Fehler 1
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:11: error: ‘date’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:12: error: ‘time’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:13: error: ‘time’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:14: error: ‘time’ does not name a type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:18: error: ISO C++ forbids declaration of ‘string’ with no type
/home/rdg/daten/C++/Linux/arbeitszeiten/src/carbeitszeit.h:18: error: ISO C++ forbids declaration of ‘Nachricht’ with no type
gmake[2]: *** [carbeitszeit.o] Fehler 1
gmake[2]: Das Target »all« wurde wegen Fehlern nicht aktualisiert.
gmake[2]: Leaving directory `/home/rdg/daten/C++/Linux/arbeitszeiten/debug/src'
gmake[2]: Entering directory `/home/rdg/daten/C++/Linux/arbeitszeiten/debug'
gmake[2]: Leaving directory `/home/rdg/daten/C++/Linux/arbeitszeiten/debug'
gmake[1]:
gmake[1]: Leaving directory `/home/rdg/daten/C++/Linux/arbeitszeiten/debug'
*** [all-recursive] Fehler 1
gmake: *** [all] Fehler 2
*** Beendet mit Status: 2 ***


Und der original Quelltext:

#ifndef CMITARBEITER_H
#define CMITARBEITER_H


#include <string>
#include <smallint.h>

#include<iostream>
using namespace std;

class CMitarbeiter{
public:
smallint Arb_id;
smallint Ref_be_id;
string Vorname;
string Name;
string Typ;
double StdLohn; //double(4,2)
string Nutzername;
string Passwort;
string Email;
bool aktiv;
CMitarbeiter();
~CMitarbeiter();
};

#endif


Sorry, wollte euch nicht mit zuviel Messages belasten und denke ist irgend etwas ganz simples.
 
Zuletzt bearbeitet:
Dein Problem ist, dass du keinen Namespace angegeben hast. Also entweder definierst du, dass dein Programm im Namespace 'std' läuft oder du benutzt std::string.
 
Versteh ich leider nicht so ganz, habe doch using namespace std; angegeben.
Aber du hast Recht, mit std::string funktioniert es. danke
 
Zuletzt bearbeitet:
Also, ich habe selber nochmal nachgeforscht und bin zu dem Ergebnis gekommen, das nicht die nötigen Bibliotheken vorhanden waren. Also, wenn Ihr auch an dem Problem steht überprüft ob using namespace std; vorhanden ist und wenn es dann noch Probleme gibt, kontrolliert mal ob Eure string lib bzw. die notwendige vorhanden ist.
 

Ähnliche Themen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Ausführbare C-Datei von Mac OS auf Embedded Linux ausführen

Samba 4.1.9 mit Bind 9.9.4

Akonadi startet nicht mehr

Zurück
Oben