Funktion aus eigener Include-Datei geht nicht

Hallo,

Wie kann ich denn eine Funktion in einer private.h
in ein mfc-Projekt einbinden? habe in private.h
folgendes stehen:

#include „iostream.h“
#include „iomanip.h“
#include „math.h“
#include „stdafx.h“
#include „resource.h“

CString get_Text(CString text)
{
return text;
}

Die Funktion get_Text wird unter Globals angezeigt.
Jedoch sagt der Compiler bei Anwendung von
get_Text();
-> undeclared identifier

Woran liegt’s?

Vielen Dank schon mal im Vorraus!
Philipp

Hallo Philipp!

Blöde Frage: Hast du die private.h auch dort includiert, wo du die Funktion aufrufst?

Bis dann, KoRn!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Blöde Frage: …
Bis dann, KoRn!

… und ich dachte bislang immer, daß es keine blöden Fragen gibt, nur blöde Antworten.

Uwe

Hallo,

Wie kann ich denn eine Funktion in einer private.h
in ein mfc-Projekt einbinden? habe in private.h
folgendes stehen:

#include „iostream.h“
#include „iomanip.h“
#include „math.h“
#include „stdafx.h“
#include „resource.h“

CString get_Text(CString text)
{
return text;
}

Die Funktion get_Text wird unter Globals angezeigt.
Jedoch sagt der Compiler bei Anwendung von
get_Text();
-> undeclared identifier

Woran liegt’s?

Hast du die Funktion in der Header-Datei stehen? Meines wissens dürfen unter C (C++?) keine Funktionen in der definiert werden. Nur deklariert. d.h. nur der sogenannte „Funktionsprototyp“ darf da stehen.

Gruss Jens

Hast du die Funktion in der Header-Datei stehen? Meines
wissens dürfen unter C (C++?) keine Funktionen in der
definiert werden. Nur deklariert. d.h. nur der sogenannte
„Funktionsprototyp“ darf da stehen.

Das ist so falsch. Z.B. als Template definierte Klassen haben alle Methodenimplementierungen in der Header-Datei. Dumm wird es nur, wenn der Linker ploetzlich zwei Implementierungen findet. Wenn es dann noch statische Variable hat, wird es lustig.

Prinzipiell heisst #include nix weiter, als dass die angegebene Datei an dieser Stelle als Text eingefuegt wird. Was Du bemaengelst, faellt eher unter schlechter Programmierstil.

Ciao Lutz

Hallo Uwe!

Wie darf ich das verstehen? Es ist doch eine berechtigte Frage! Könnte doch sein, dass er tatsächlich vergessen hat die Datei zu includieren; denn dass diese unter den Globals angezeigt wird, heißt nur dass die private.h im Projektordner dabei ist!

Auf Antwort wartend,
KoRn!