Socket には、パラメーターとして winsock SOCKET を取り、それをプライベート変数に格納するコンストラクターがあります。
Socket::Socket(SOCKET s) {
this->s = s;
}
Socket クラスからデータを解析するクラス「GameSocket」を作成しようとしています。
class GameSocket : public Socket {
protected:
void ParseData(unsigned char* data, int size);
};
これらのクラスの隣に、必要に応じて新しいソケットを作成する「サーバー」クラスがあります。
GameSocket* Server::Accept() {
SOCKET a = accept(s, 0, 0);
if(a==SOCKET_ERROR) {
return 0;
}
else {
return new GameSocket(a);
}
}
ただし、これにより、最後の「else」でエラーが発生します。
error C2664: 'GameSocket::GameSocket' : cannot convert parameter 1 from 'SOCKET' to 'const GameSocket &'
派生クラスを扱うとき、コンストラクターで何かが欠けているに違いありません...
私は C++ と OOP に比較的慣れていません。