Linker Fehler
-
Hi ich hab folgendes Problem: habe folgenden quellcode, kann ihn mit VS 6.0 kompilieren, aber dann meckert der compiler
--------------------Konfiguration: Vector - Win32 Debug--------------------
Linker-Vorgang läuft...
MSVCRT.lib(crtexe.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
Debug/Vector.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.Vector.exe - 2 Fehler, 0 Warnung(en)
Quelltext: Vector.cpp
#include "Vector.h"
Vector::Vector()
{
laenge=10;
feld=new int[laenge];
}Vector::Vector(int z)
{
laenge=z;
feld=new int[laenge];
}Vector::Vector(int z,int array[])
{
laenge=z;
feld=new int[laenge];
for(int i=0;i<laenge;i++)
{
feld[i]=array[i];
}
}Vector::Vector(const Vector& object)
{
laenge=object.laenge;
feld=new int[laenge];
for(int i=0;i<laenge;i++)
{
feld[i]=object.feld[i];
}
}Vector::~Vector()
{
delete[] feld;
}int Vector::operator=(const Vector& object)
{
if(&object!=this)
{
if(laenge>object.laenge)
{
delete feld;
laenge=object.laenge;
feld=new int[laenge];
}
else if(laenge<object.laenge)
{
delete feld;
feld=new int[laenge];
}for(int i=0;i<laenge;i++)
{
feld[i]=object.feld[i];
}
}
return *feld;
}Vector Vector::operator+(const Vector& object)
{
Vector summe;
if(laenge>object.laenge)
{
delete summe.feld;
summe.laenge=object.laenge;
summe.feld=new int[summe.laenge];
}
else
{
delete summe.feld;
summe.laenge=laenge;
summe.feld=new int[summe.laenge];
}
for(int i=0;i<summe.laenge;i++)
{
summe[i]=feld[i]+object.feld[i];
}return summe;
}int& Vector::operator[](int index) const
{
if((index>=0)&&(index<laenge))
{
return feld[index];
}
else
{
cout<< "Falscher Index -- Programm Abbruch --" <<endl;
//exit(1);
}
}int Vector::upper()
{
return laenge;
}ostream& operator<<(ostream& strm, const Vector& v)
{
v.print(strm);
return strm;
}void Vector::print(ostream& strm) const
{
for(int i=0;i<laenge;i++)
{
strm << '[' ;
strm << feld[i];
strm << ']' << ' ';
}strm << endl;
}Quelltext: Vector.h
#ifndef VECTOR_H_
#define VECTOR_H_#include <iostream.h>
class Vector
{
public:
// Verwaltungsmethoden
Vector();
Vector(int z);
Vector(int z,int array[]);
Vector(const Vector& object);
~Vector();
int operator=(const Vector& object);// Nur-Lese Methoden
Vector operator+(const Vector& object);
int& operator[](int index) const;
int upper();
void print(ostream& strm=cout) const; // Ausgabeprivate:
int laenge;
int *feld;
};ostream& operator<<(ostream&, const Vector&);
#endif /*VECTOR_H_*/
kann mir da mal wer helfen? blick grad gar nix mehr

-
So wie es scheint fehlt der Einsprungspunkt. Du musst die Funktion "main" implementieren.
int main(int argc, char **argv) { // Code steht hier return 0; }P.S.: Benutze die Code-Tags für das Posten von Code.
-
Alles klar, vielen dank, jetzt läufts, habs zwar anders gemacht ohne main aber jetzt gehts :p