ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
357
357
EMPFEHLEN
-
27.08.09 10:36 #1
- Registriert seit
- Mar 2009
- Beiträge
- 8
Hallo,
iwie habe ich mal wieder einen Fehler den ich net verstehen:
error LNK2005: "struct Kontakt * aKontakte" (?aKontakte@@3PAUKontakt@@A) ist bereits in Anmeldung.obj definiert.
Leider finde ich die definition in Anmeldung.cpp nicht, zwar verwende ich den array dort auch, aber dafür lege ich ja die struct in der header in den array. Iwo habe ich nen großen Denkfehler doch wo?
mal alle Codes wo mom. auf den Array aKontakte zugegriffen wird:
Die datei.h
nun die Datei.cppHTML-Code:#ifndef DATEI_H #define DATEI_H struct Kontakt{ char name[10]; char vorname[10]; char strasse[30]; int hausnummer; int plz; char ort[20]; char telefon[15]; char fax[15]; char mail[30]; }; Kontakt aKontakte[1000]; void open(); void save(); void del(); void close(); #endif
und zuletzt noch die Menuefunktionen.cppHTML-Code:#include <iostream> #include <string> #include <cstdlib> #include "datei.h" using namespace std; //Kontakt aKontakte[100]; //Nochmals anschauen daheim! void open() { cout<<"Hier wird die Datei geöffnet\n\n"; FILE *stream; stream = fopen ("D:\\Dokumente und Einstellungen\\Kirchner\\Eigene Dateien\\Visual Studio 2005\\Projects\\Kundenverwaltung.xls", "r"); if (stream!=NULL) { for (int i=1;i<=99;i++) { fscanf (stream, "%s%s%s%4d%4d%s%s%s%s", &aKontakte[i].name, &aKontakte[i].vorname, &aKontakte[i].strasse, &aKontakte[i].hausnummer, &aKontakte[i].plz, &aKontakte[i].ort, &aKontakte[i].telefon, &aKontakte[i].fax, &aKontakte[i].mail); } fclose(stream); } else { cout<<"Fehler: Datei konnte nicht geöffnet werden\n\n"; } } void close() { cout<<"Hier wird die Datei geschlossen\n\n"; } void save () { cout<<"Hier wird die Datei gesichert\n\n"; } void del() { cout<<"Hier wird unwiederruflich gelöscht\n\n"; }
und zu guter letzt die Anmeldung.cpp , da verwende ich jedoch den array net, doch auf das bezieht sich die FehlermeldungHTML-Code:#include <iostream> #include <string> #include "main.h" #include "datei.h" using namespace std; //Kontakt aKontakte[1000]; extern int kn = 0; void Loeschen() { cout<<"Wollen Sie diesen Kontakt wirklich loeschen?\n\n"; del(); } void Suchen() { cout<<"Nach wem wollen Sie suchen?\n"; } void Neu() { kn = kn +1; cout<<"Neuer Name"; cin>>aKontakte[kn].name; save(); }
HTML-Code:#include <iostream> #include <string> #include "main.h" #include "datei.h" using namespace std; int Anmeldung() { bool zaehler=true; int i=0; while (zaehler==true) { i++; int pw; cout<<"PW eingabe\n"; cin>>pw; if (pw!=2456) { cout<<"Bitte neuer Versuch!\n"; if (i==3) { int Best; cout<<"Ihr Konto wurde vorläufig wegen 3maliger Fehleingabe gesperrt\n"; cout<<"Bitte mit Taste bestätigen\n"; cin>>Best; (exit(-1)); } } else { zaehler=false; } } open(); return 0; }
Der Sinn von dem Programm was mein ins. zweites sein soll ist ein Adressbuch, man mus einfügen, suchen, neu erstellen und löschen können. Hoffe das hilft euch weiter.
Hoffe Ihr versteht mein Problem, denn das habe ich schon seit gestern
Danke und LG SamGeändert von samkirchner (27.08.09 um 10:39 Uhr)
-
Das Array aKontakte wird in jeder .cpp-Datei neu an einen anderen Speicherplatz gelegt. Du müsstest entweder schreiben:
static Kontakte aKontakte[100];
oder du machst es folgendermassen:
extern Kontakte aKontakte[100];
und in einer .cpp-Datei dann (z.B. Datei.cpp) Kontakte aKontakte[100];
-
27.08.09 10:58 #3
- Registriert seit
- Mar 2009
- Beiträge
- 8
ok, mit static Kontakt aKontakte[1000];
gings, was macht das static denn genau, bzw warum ging es mit dem extern nicht?
-
Mit extern funktioniert es einwandfrei!
Bezüglich static:
http://msdn.microsoft.com/en-us/libr...xd(VS.80).aspx
Ähnliche Themen
-
error LNK2005 und #pragma once
Von noZmo im Forum C/C++Antworten: 5Letzter Beitrag: 21.07.09, 08:07 -
Error LNK2005 - Mehrfachdeklaration Verständnisproblem
Von Skid im Forum C/C++Antworten: 8Letzter Beitrag: 02.03.09, 11:16 -
[C] VS05 Linker Error LNK2005
Von Viper2009 im Forum C/C++Antworten: 7Letzter Beitrag: 22.08.07, 14:43 -
[MVS2005] Linker Fehler LNK2005
Von Andrej Dyck im Forum C/C++Antworten: 1Letzter Beitrag: 31.07.06, 09:19 -
[C++] Linker Problem (LNK2005)
Von frager im Forum C/C++Antworten: 3Letzter Beitrag: 20.07.04, 20:08





Zitieren
Login






