hi leute
schreibe für mein praktikum eine serialisierungsmethode für c++. aus diesem grund sollte ich die stl-container (vector/map/set/list/etc.) erweitern.
ich weiß, viele foren schreiben man sollte dies nicht tun - aber ehrlich gesagt, finde ich das nicht schlimm und die alternative wäre furchtbar umständlich.
aber ich habe FOLGENDES PROBLEM: dieser Source (ich will std::map erweitern) compiliert nicht:
namespace std
{
template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
class MapWrapper :
public SerializationWrapper,
public std::map<_Key, _Tp, _Compare, _Alloc>
{
public:
MapWrapper() {};
virtual ~MapWrapper() {};
virtual void serialize()
{
// zeile 35 (für compiler...):
std::map<_Key, _Tp>::iterator iter;
};
};
}; // namespace std
Alles anzeigen
der fehler (vom aufruf:
g++ MapWrapper.h -I../libSerialization.1/
... das Inklude nur für "SerializationWrapper") liefert
MapWrapper.h: In member function »virtual void std::MapWrapper<_Key, _Tp, _Compare, _Alloc>::serialize()«:
MapWrapper.h:35: Fehler: expected `;' before »iter«
kann mir bitte jemand weiterhelfen??? ich bin echt nicht blöd was C/C++ angeht, aber ich bekomms so einfach nicht hin
danke & lg
clemens
EDIT: ein non-template iterator wäre mir eigentlich auch egal... casten geht ja problemlos... aber das gibts ja nicht in c++, oder?