NAVIE
Messages postés23Date d'inscriptionsamedi 1 janvier 2005StatutMembreDernière intervention23 avril 2006
-
8 nov. 2005 à 19:40
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
9 nov. 2005 à 00:40
Bonjour,
j'écris ce message pour un problème que j'ai avec un de mes programmes.
Je compile avec DevCpp Version 4.9.9.2 et j'ai crée deux fichiers sources: l'un s'appelle "main.cpp" et l'autre "MoteurCentral.h".
Voici leurs codes:
MoteurCentral.h:
#pragma once
#include <windows.h>
#include <mmsystem.h>
#include <vector>
using namespace std;
#ifndef MoteurCentral
#define MoteurCentral
class MoteurCentral
{
protected:
HINSTANCE m_hInstance;
HWND m_hHwnd;
TCHAR m_szWindowClass[32];
TCHAR m_szTitre[32];
WORD m_wIcon, m_wSmallIcon;
int m_iLongueur, m_iLargeur;
int m_iDelai;
public:
MoteurCentral(HINSTANCE hInstance, LPTSTR szWindowClass, LPTSTR szTitre,
WORD wIcon, WORD wSmallIcon,
int iLongueur = GetSystemMetrics(SM_CXSCREEN),
int iLargeur = GetSystemMetrics(SM_CYSCREEN));
virtual ~MoteurCentral();
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
Et voici le message d'erreur que j'ai:
4 C:\BASE DE DONNEES\TPE\main.cpp In file included from main.cpp
24 C:\BASE DE DONNEES\TPE\MoteurCentral.h expected `)' before "hInstance"
28 C:\BASE DE DONNEES\TPE\MoteurCentral.h expected class-name before '(' token
13 C:\BASE DE DONNEES\TPE\MoteurCentral.h an anonymous union cannot have function members
66 C:\BASE DE DONNEES\TPE\MoteurCentral.h abstract declarator `' used as declaration
66 C:\BASE DE DONNEES\TPE\MoteurCentral.h namespace-scope anonymous aggregates must be static
C:\BASE DE DONNEES\TPE\Makefile.win [Build Error] [main.o] Error 1
Pouvez-vous me dire quel est la cause responsable de cet échec?
MrdJack
Messages postés146Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention 8 mars 20082 8 nov. 2005 à 20:04
j'ai beau chercher partout dans le fichier main.cpp mais je ne voit pas
où tu utilise la classe MoteurCentral, il ne suffit pas de déclarer le
include pour que ca marche, il faut créer un objet du type
MoteurCentral comme ceci
MoteurCentral MonMoteurCentral;
et l'utiliser comme ceci :
MonMoteurCentral.GetInstance();
MonMoteurCentral.SetLongueur(123456789);
la premiere erreur dit qu'il y a un probleme dans le fichier MoteurCentral.h.
pour la deuxieme erreur, je ne suis pas sur que l'on puisse passer des parametres à la fonction créatrice de l'objet.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 nov. 2005 à 00:40
On peut faire un constructeur (même nom) en plusieurs versions (surcharge) avec différents nbr et type de variables, le compilo déterminera lequel appeler selon la signature de la fonction.