Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Fehler mit Template-Klasse

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.01.2009, 19:03 Uhr
Horaz



Hi ich programmiere gerade einen Vector, dessen Deklarierung in einer Header-Datei und Sourcecode in einer Cpp-Datei steht.

Vector.h

C++:
#ifndef VECTOR_H_INCLUDED
#define VECTOR_H_INCLUDED

template<class T>
class Vector
{
    public:
        ...
        Vector &operator=(const Vector);
        ...
};

#endif



Vector.cpp

C++:
#include "Vector.h"

template<class T>
Vector &Vector<T>::operator=(const Vector otherVector)
{
    if(this!=&otherVector)
    {
        delete[] m_data;
        m_size=otherVector.m_size;
        m_data=new T[m_size];
        for(int i=0;i<m_size;++i)
        {
            m_data[i]=otherVector.m_data[i];
        }
        return *this;
    }
}


Warum meldet der Compiler ständig:
E:\C++\SortedArray\Vector.cpp|34|error: expected constructor, destructor, or type conversion before "Vector"| ?

Dieser Post wurde am 03.01.2009 um 19:03 Uhr von Horaz editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.01.2009, 19:09 Uhr
~helferlein
Gast


1.) mach den übergabeparameter als referenz (const Vector<T> &otherVector), sonst wird
für jede zuweisung der kopierkonstuktor aufgerufen

2.) das teil gibt ein Vector<T> zurück und kein Vector! selbes gillt für den parameter
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.01.2009, 19:12 Uhr
Horaz



Vielen dank.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: