Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Débutant c++ - ptit pb de compilation avec constructeur de classe

2 réponses
Avatar
Nicolas ROBERT
Bonjour,

Je débute en C++. J'essaye de me faire un petit system client-serveur en
C++. Pour cela j'ai écrit le code suivant:

C'est la 1ère classe C++ que je conçois, aussi, je vous demande de
l'indulgence quand à la performance de mon code.

J'ai une erreur de compilation sur le fichier serveur.cpp:
"return type specification for constructor invalid"

Je me dis que j'ai surement mal instancié ma classe serveur, mais je ne
précise pourtant pas de type, comme la doc le précise.
Cela fait quelques temps que je cherche, et cela m'empêche d'avancer.

Quelqu'un aurait-il détecté l'évidente (et bien souvent inévitable) erreur
du debutant dans mon code ?
Merci



serveur.h:

class Serveur {
public:
//constructeur de la classe
Serveur();
//Méthode d'initialisation
void Initialise();
//Methode de demarrage du serveur
void Demarre();
//Methode d'arret du serveur
void Arrete();

protected:
//Declaration des variables de la classe
char buffer[MAX_SIZE_BUFFER];
WSADATA WSAData;

SOCKET sock;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;

}//fin de la classe serveur


serveur.cpp:

#ifndef _WINSOCKAPI_
#include <winsock2.h>
#endif

#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")

#include "initialisation.h"
#include "serveur.h"


//constructeur de la classe
Serveur::Serveur(){ // <---- L' ERREUR DE COMPILATION EST LA

}

Serveur monserveur;

//Initialisation
void Serveur::Initialise(){

//Initialisation Winsock
WSAStartup(MAKEWORD(2,0), &WSAData);

//construction du socket
sock = socket(AF_INET, SOCK_STREAM, 0); //socket flux: TCP
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_family = AF_INET;
sin.sin_port = htons(DEFAUT_PORT);
}


//Demarrage du serveur
void Serveur::Demarre(){

//liaison physique du socket et de la structure winsock
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
// Ecoute du socket
listen(sock,MAX_CONN_ACCEPT);

while(1)
{
int sinsize = sizeof(csin);
csock = accept(sock, (SOCKADDR *)&csin, &sinsize);

if( csock != INVALID_SOCKET)
{
memset(buffer,0,MAX_SIZE_BUFFER);
wsprintf(buffer,"Bienvenu sur mon serveur ");
send(csock,buffer,MAX_SIZE_BUFFER,0);
}
}
}



}

2 réponses

Avatar
Michel Michaud
Dans news:c6aojf$d6$, Nicolas
J'ai une erreur de compilation sur le fichier serveur.cpp:
"return type specification for constructor invalid"

class Serveur {
[...]

}//fin de la classe serveur


Il te manque un ; à la fin :

}; //fin de la classe serveur


--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/

Avatar
Horst Kraemer
On Fri, 23 Apr 2004 11:45:17 +0200, "Nicolas ROBERT"
wrote:


J'ai une erreur de compilation sur le fichier serveur.cpp:
"return type specification for constructor invalid"



[...]


}//fin de la classe serveur


}; //fin de la classe serveur

^
|
+----------- Il faut mettre un ; après l'accolade qui termine la
définition d'une classe.


--
Horst