Re(4): [Visual C++] Fehlermeldung ist mir unverständlich :(
Geizhals » Forum » Programmierung » [Visual C++] Fehlermeldung ist mir unverständlich :( (24 Beiträge, 868 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
[Visual C++] Fehlermeldung ist mir unverständlich :(
16.03.2011, 22:26:14
Ich bin gerade dabei guten alten Fortran Code auf Visual C++ zu portieren und hab nun Strukturen und Namespaces und so weiter eingebaut, was es eben an neumodischem Schnickschnack so gibt :) Das hat bei den meisten Programmen auch toll funktioniert, nur habe ich jetzt gerade ein Problem, dass ich nicht gelöst bekomme, ich poste hier den Code ohne Mathematik :)

Form1.h:

private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
int irgendwas = 123;
die_struktur result = lg(irgendwas);
double^ ergebnis1 = result.wert1;
this -> ausgabe1 -> Text = ergebnis1 -> ToString();
}


calc.cpp

#include "stdafx.h"
#include "sstream"
#include "string"
#include "cmath"
using namespace std;

namespace variablen {

int l = 0;
int m = 0;
double theta = 0; //Winkel von Legendre
double d_result1 = 0;
double d_result2 = 0;
double P = 0;
}

struct die_struktur {
double wert1; //Zum returnen in die Datei
double wert2; //Zum returnen in die Datei
};

double die_fkt(int l, int m, double theta) {
using namespace variablen;
P = l + m + theta;
return P;}

die_struktur lg(int irgendwas) {

using namespace variablen;
die_struktur testwerte;

d_result1 = die_fkt(1,2,3.0)*irgendwas;
d_result2 = die_fkt(1,2,3.0);

testwerte.wert1 = d_result1;
testwerte.wert2 = d_result2;

return testwerte;}


So nun sagt er mir beim Compilieren aber:

Der Compiler, die unverständliche Sau sagt:

1>------ Erstellen gestartet: Projekt: legendre, Konfiguration: Debug Win32 ------
1>  calc.cpp
1>calc.obj : error LNK2005: "double __clrcall die_fkt(int,int,double)" (?die_fkt@@$$FYMNHHN@Z) ist bereits in legendre.obj definiert.
1>calc.obj : error LNK2005: "struct die_struktur __clrcall lg(int)" (?lg@@$$FYM?AUdie_struktur@@H@Z) ist bereits in legendre.obj definiert.
1>calc.obj : error LNK2005: "double variablen::d_result2" (?d_result2@variablen@@$$Q3NA) ist bereits in legendre.obj definiert.
1>calc.obj : error LNK2005: "double variablen::d_result1" (?d_result1@variablen@@$$Q3NA) ist bereits in legendre.obj definiert.
1>C:\Users\...\legendre\legendre\Debug\legendre.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.


Wo liegt mein Fehler?

Edith:
#include "sstream"
#include "string"
#include "cmath"

da sind HTML Tags statt " " drumherum, aber die schluckt die Forensoftware...

17.03.2011, 17:05 Uhr - Editiert von xtlc, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung