Fehler: used prior to declaration
-
Hi Leutz!
Ich programmiere gerade an nem Spiel nur leider bekomme ich immer eine Fehlermeldung:
\network.cpp `int CutMsg(char*)' used prior to declarationobwohl ich in der header-Datei die Funktion deklariert habe:
int CutMsg(char *s);Woran könnte dies liegen?
-
An welcher Stelle hast du denn diesen Header in deine "network.cpp" eingebunden?
-
Also folgendes:
main.cpp
#include <cstdlib> #include <iostream> #include "network.h" using namespace std; int main(int argc, char *argv[]) { NW(); system("PAUSE"); return EXIT_SUCCESS; }network.h
#ifndef _NETWORK_H #define _NETWORK_H int CutMsg(char *s); int NW(); #endifNetwork.cpp
int NW() { int x; char s[30]; x=CutMsg(s); return x; } int CutMsg(char *s) { return -1; }Achja die Meldungen:
network.cpp In function `int NW()': 15 network.cpp `CutMsg' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) network.cpp In function `int CutMsg(char*)': 20 network.cpp `int CutMsg(char*)' used prior to declaration
-
Beantworte die Frage doch einfach

An welcher Stelle hast du denn diesen Header in deine "network.cpp" eingebunden?
Diese Frage impliziert, dass der Header wohl in network.cpp eingebunden sein sollte. Dies ist hier offenbar nicht der Fall (zumindest im geposteten Code nicht zu ersehen). (Einbinden heisst übrigens #include)
Mitdenken, Leute, mitdenken

-
seit wann muss der header miteingebunden werden? Wenn ich doch in der Main.cpp nur den Header einbinden brauch....
-
Ja, die main.cpp kennt deine Funktionsdeklarationen, die Network.cpp kennt sie nicht - also mußt du ein "#include "network.h" an den Anfang der Datei schreiben.
-
mmmh okay BIG THX!