Bonjour,
Je tente de compiler une classe d'envoi d'emails via utilisation d'un socket.
J'ai cependant ce message d'erreur lors de la compilation :, à la ligne où je déclare le constructeur de ma classe :expected `)' before '=' token
Je suspecte que le problème vienne des deux attributs de type string déclarés avant la méthode init de la classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mail(ipSMTP="serveurmail.com", port=25)
Voici le contenu de mail.h contenant la classe Mail :
Merci d'avance de votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 #if defined (WIN32) #include <winsock2.h> typedef int socklen_t; #elif defined (linux) #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #define INVALID_SOCKET -1 #define SOCKET_ERROR -1 #define closesocket(s) close(s) typedef int SOCKET; typedef struct sockaddr_in SOCKADDR_IN; typedef struct sockaddr SOCKADDR; #endif #include <string> #include <iostream> using namespace std; class Mail { private : public : SOCKET sock; SOCKADDR_IN sin; char buffer[255]; int erreur; int port; string message; string ipSMTP; Mail(ipSMTP="serveurmail.com", port=25) { #if defined (WIN32) WSADATA WSAData; erreur = WSAStartup(MAKEWORD(2,2), &WSAData); #else erreur = 0; #endif message = ""; /* Création de la socket */ sock = socket(AF_INET, SOCK_STREAM, 0); /* Configuration de la connexion */ sin.sin_addr.s_addr = inet_addr(ipSMTP.c_str()); sin.sin_family = AF_INET; sin.sin_port = htons(port); } ~Mail() { /* On ferme la socket précédemment ouverte */ closesocket(sock); #if defined (WIN32) WSACleanup(); #endif } void envoi() { //Instructions d'envoi d'email par la socket via le SMTP } };
Niusha
Partager