Hallo,
ich habe ein ganz normales Programm, ohne irgendeine Komponente.
Ich habe jetzt eine Klasse erstellt:
Wenn ich aber ein Objekt davon erzeuge, aber es nicht initialisieren (TItem t;), bekomme ich immer folgende Fehlermeldung:
[Linker Fehler] Unresolved external 'TItem::TItem()' referenced from C:\USERS\Username\DOCUMENTS\CPP\TEST_PROGRAMM\RAHMEN.OBJ
Kann mir jemand helfen? Danke im Vorraus!!
PS: Entschuldigung, das ich überhaupt so viele Fragen stelle. Aber eigentlich ist ja ein Forum dazu da.
ich habe ein ganz normales Programm, ohne irgendeine Komponente.
Ich habe jetzt eine Klasse erstellt:
Code:
#include <vector>
typedef AnsiString TType;
class TItem
{
public:
TItem(TCanvas *_Canvas, TType _Type, Graphics::TBitmap *_BMP) : Canvas(_Canvas), Type(_Type), Visible(true), TransparentColor(clWhite), BMP(_BMP) {this->ID++;}
TItem(TCanvas *_Canvas, TType _Type, AnsiString _BMP_FileName): Canvas(_Canvas), Type(_Type), Visible(true), TransparentColor(clWhite) {this->ID++;BMP = new Graphics::TBitmap();this->BMP->LoadFromFile(_BMP_FileName);}
TItem();
~TItem() {ID--;}
bool Visible;
Graphics::TBitmap *BMP;
TType Type;
TCanvas *Canvas;
TColor TransparentColor;
std::vector<TColor> TransparentColorX;
void Draw(int x, int y);
void DrawX(int x, int y);
unsigned short int GetID() {return ID;};
private:
static unsigned short int ID;
};
//------------------------------------------------------------------------------
void TItem::Draw(int x, int y)
{
for (int i=0; i<this->BMP->Height; i++)
{
for (int j=0; j<this->BMP->Width; j++)
{
if (BMP->Canvas->Pixels[j][i]!=TransparentColor)
{
this->Canvas->Pixels[x+j][y+i] = BMP->Canvas->Pixels[j][i];
}
}
}
}
void TItem::DrawX(int x, int y)
{
bool found = false;
for (int i=0; i<this->BMP->Height; i++)
{
for (int j=0; j<this->BMP->Width; j++)
{
for (unsigned int k=0; k<TransparentColorX.size(); k++)
{
if (BMP->Canvas->Pixels[j][i]==TransparentColorX.at(k))
{
found = true;
}
}
if (found==false)
{
this->Canvas->Pixels[x+j][y+i] = BMP->Canvas->Pixels[j][i];
}
found = false;
}
}
}
unsigned short int TItem::ID = 0;
//------------------------------------------------------------------------------
Wenn ich aber ein Objekt davon erzeuge, aber es nicht initialisieren (TItem t;), bekomme ich immer folgende Fehlermeldung:
[Linker Fehler] Unresolved external 'TItem::TItem()' referenced from C:\USERS\Username\DOCUMENTS\CPP\TEST_PROGRAMM\RAHMEN.OBJ
Kann mir jemand helfen? Danke im Vorraus!!
PS: Entschuldigung, das ich überhaupt so viele Fragen stelle. Aber eigentlich ist ja ein Forum dazu da.
Zuletzt bearbeitet: