überladene function unter VS c++ 2005
-
hab hier ne socket klasse:
class Socket { /* .. */ public: long Bind(const SOCKADDR *name, int size); virtual long Bind(unsigned short port); virtual long Bind(unsigned long addr, unsigned short port); /* .. */ };und dann ne
class TcpSocket : public Socket { /* .. */ public: virtual long Bind(unsigned short port); virtual long Bind(unsigned long addr, unsigned short port); /* .. */ };so
jetzt versuch ich folgendes
TcpSocket *s = new TcpSocket(); if(s->Bind((const SOCKADDR *)&addr, sizeof(addr)) < 0) /* */und bekomme:
long TcpSocket::Bind(unsigned long,unsigned short)' : cannot convert parameter 1 from 'SOCKADDR *' to 'unsigned long'

ich kann aber folgendes tun
TcpSocket *s = new TcpSocket(); if(s->Socket::Bind((const SOCKADDR *)&addr, sizeof(addr)) < 0) /* */seit wann ist das so?
hab ich da was verpasst?
-
habs gefunden;
class TcpSocket : public Socket { /* .. */ public: using Socket::Bind; virtual long Bind(unsigned short port); virtual long Bind(unsigned long addr, unsigned short port); /* .. */ };war mir echt neu, obwohl ich nun schon jahre c++ programmiere.