tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1883
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.361
    Blog-Einträge
    4
    Hallo,

    ich habe ein ganz normales Programm, ohne irgendeine Komponente.

    Ich habe jetzt eine Klasse erstellt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    
    #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.
    Geändert von ComFreek (01.10.10 um 13:10 Uhr)
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.805
    Blog-Einträge
    5
    Zitat Zitat von ComFreek Beitrag anzeigen
    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\Martin\DOCUMENTS\CPP\TEST_PROGRAMM\RAHMEN.OBJ
    Du hast keine Implementierung für den parameterlosen Konstruktor angegeben.

    Grüße, Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  3. #3
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.361
    Blog-Einträge
    4
    Uups, hatte ich wohl vergessen.
    Vielen Dank!
    Geändert von ComFreek (30.07.10 um 12:04 Uhr)
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

Ähnliche Themen

  1. Unresolved external
    Von derNero im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 27.05.08, 10:59
  2. Antworten: 0
    Letzter Beitrag: 02.02.08, 18:01
  3. linker fehler unresolved external
    Von woppa im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 30.08.06, 08:42
  4. error LNK2019: unresolved external
    Von Nabi im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 28.07.06, 11:21
  5. [Linker Fehler] Unresolved external
    Von Supa im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 07.07.05, 12:23