begin process at 2012 05 29 06:24:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Autre

 > 

Error: ""was not declared in this scope


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Error: ""was not declared in this scope

lundi 29 mars 2010 à 14:29:52 | Error: ""was not declared in this scope

LiaGalanodel

Bonjour a tous je ne sais pas si je poste sur le bon sujet mais voila j'ai un problème.
Je veu tout simplement créer un server mais je n'y arrive pas.

Le but étant que grace a ma fonction pour utiliser le server il me retourne un bool pour savoir si la focntion c'est correctement efféctué.

Voila les codes:

Code C/C++ :
*
 * serverfunction.h
 *
 *  Created on: 18 mars 2010
 *      Author: amelie.athanassiadis
 */

#ifndef SERVERFUNCTION_H_
#define SERVERFUNCTION_H_
using namespace std;
class SocketServer
{
public:
	bool InitSocketServer(const char Address, int Port);
};


#endif /* SERVERFUNCTION_H_ */

Code C/C++ :
/*
 * serverfunction.cpp
 *
 *  Created on: 18 mars 2010
 *      Author: amelie.athanassiadis
 */

#include <arpa/inet.h>
#include <netdb.h>
#include <sys/epoll.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include "serverfunction.h"
using namespace std;


bool SocketServer::InitSocketServer(const char * Address, int Port)
{

	bool CreateSocket = false;
    struct sockaddr_in SocketServerParam;
    int SocketServer;

    // Configure a server socket in connected mode...
    SocketServer = socket(AF_INET, SOCK_STREAM, 0) ;
    if (SocketServer != -1)
    {
    	memset(&SocketServerParam, 0, sizeof (struct sockaddr_in)) ;
    	/*Set the first numbyte of the block memory
    	//pointed by ptr to the specified value (ptr, value to be set, number of
    	bytes to be set to the value)*/
    	SocketServerParam.sin_family = AF_INET;
        // ...on specified address and port...
    	SocketServerParam.sin_port = htons(Port) ; //Port
    	SocketServerParam.sin_addr.s_addr = inet_addr(Address) ; //Address IP
        if (SocketServerParam.sin_addr.s_addr != INADDR_NONE)
        {
        	/* bind the socket to the Internet address */
            if (bind(SocketServer, (struct sockaddr *) &SocketServerParam,
                sizeof (struct sockaddr_in)) != -1)
            {
                // Allow IP address immediate reuse
                int flagReuseAddress = 1;
                if (setsockopt(SocketServer, SOL_SOCKET, SO_REUSEADDR,
                    &flagReuseAddress, sizeof (int)) != -1)
                {
                	// ...for one client
					if (listen(SocketServer, 1) != -1)
					{
                	// Initialize DbMa_SdbtpInterfaceFileDescriptor
                	// variable
                	int DbMa_SdbtpInterfaceFileDescriptor = accept(
                			CreateSocket, NULL, NULL) ;

						if (DbMa_SdbtpInterfaceFileDescriptor != -1)
						{
							// The connection is established with the client
							CreateSocket = true;
						}

                	}

                }

            }


        }
        // Close Sdbtp socket connection server
        close(SocketServer) ;
    }
return CreateSocket;
}


Code C/C++ :
/*
 * server.cpp
 *
 *  Created on: 18 mars 2010
 *      Author: amelie.athanassiadis
 */

#include <arpa/inet.h>
#include <netdb.h>
#include <sys/epoll.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include "serverfunction.h"
using namespace std;
int main (void)

{
	InitSocketServer("127.0.0.1", 2000);
}


Mon programme est sous l'environnement Linux.
Je vous met ci dessous mes erreurs (je trvail sous eclipse):
prototype for 'bool SocketServer::InitSocketServer(const char*,int)' does not match any in class 'SocketServer'
candidate is: bool SocketServer::InitSocketServer(char, int)
'InitSocketServer' was not declared in this scope
lundi 29 mars 2010 à 14:52:21 | Re : Error: ""was not declared in this scope

fregolo52

Membre Club
salut,

tu n'as pas instancié ta classe dans le main !!

Code C/C++ :
int main (void)

{
        SocketServer sockServ;
	sockServ.InitSocketServer("127.0.0.1", 2000);
}
lundi 29 mars 2010 à 15:02:46 | Re : Error: ""was not declared in this scope

LiaGalanodel

Aïe c'est vrai!
Désolé je suis nouvelle en C++.

J'ai modifié mon programme mais ça ne fonctionne toujours pas en plus des trois erreurs d'avant il me met:
invalid conversion from 'const char*' to 'char'
lundi 29 mars 2010 à 15:03:53 | Re : Error: ""was not declared in this scope

LiaGalanodel

Ah et désolé j'ai oublié une erreur:
initialize argument 1 of 'bool SocketServer::InitSocketServer(char, int)
Est ce que ça veut dire que je dois initialiser ma focntion?
mardi 30 mars 2010 à 09:23:21 | Re : Error: ""was not declared in this scope

LiaGalanodel

Réponse acceptée !
C'est bon j'ai trouvé la solution.

C'était une simple erreur d'oubli dans le fichier serverfunction.h j'ai oublié de mettre le * dans la déclaration de la fonction:
Code C/C++ :
/*
 * serverfunction.h
 *
 *  Created on: 18 mars 2010
 * 
 */

#ifndef SERVERFUNCTION_H_
#define SERVERFUNCTION_H_
using namespace std;
class SocketServer
{
public:
	bool InitSocketServer(const char[color=red]*[/color] Address, int Port);
};


#endif /* SERVERFUNCTION_H_ *


Voila, j'ai appris qu'il fallait bien regarder les messages d'erreur pour retrouver où elle est. Une erreur simple pour deux jours de galère parce que je n'ai pas assez réfléchis.

Bref merci! Et bonne journée a vous tous.


Cette discussion est classée dans : int, include, in, socketserver, serverfunction


Répondre à ce message

Sujets en rapport avec ce message

Dans le genre prenant........ [ par Xs ] oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois Serveur Vc++6 pb dans recv [ par alfred ] Salut a tousJ'ai un probleme dans mon serveur et je ne sais pas comment le resoudre. Le client se connecte bien et envoie le bon nombre de caracteres Pb Chaîne de caractères [ par mmuller57 ] Bonjour,J'ai créé un petit programme qui convertit les caractères d'une chaîne de caractères par leurs codes ASCII :#include #include #include int con Problème incompréhensible [ par JosueClement ] Regardez plutot...Ce programme est une sorte d'horloge!Il n'y a aucune erreur de compilation, mais les heures n'augmentent jamais!!A la ligne 54, j'ai multiple definition de fonctions ! [ par bidules ] bonjour,lorsque je compile j'ai plein d'erreur me disant qu'il ya des multiple definitions dans mes fichiers objets : ds tou les fichier .h il y a au J'ai créé un jeu de course mais .... [ par arconius ] Voila j'ai voulu créé un jeu de course de bonhommes mais étant débutant je suis confronté à un problème, mon bonhomme descend normalement dans le circ une fiche de renseignement [ par cabarrus ] je cherche à faire un programme qui demande des renseignements pour pouvoir ensuite les affiché comme une fiche d'identité!!!voici monprogramme mais m Difference [ par xionoxid ] C'est koi la difference entre time (0) et time (NULL) les 2 font des nbr aleatoire !??#include #include #i Couleur, sconio econio...marche po :( [ par starkrous ] #include #include int main(){textcolor( GREEN ); cout textcolor( WHITE );return 0;}>>resultat>> "fin de fichier inatendu lors de la recherche d'u


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales