CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Bon, encore un problème...

SuperDindon
SuperDindon
Niveau 8
26 janvier 2003 à 16:25:11

Toujours avec ma classe HMMPointer:

class HMMPointer;
typedef HMMPointer *LPHMMPointer;
struct HMMInstance;
typedef HMMInstance *LPHMMInstance;

extern _MEMORYSTATUS ms;

//h_memorymain.cpp
void HMMInit(unsigned int SysMemMin = 0);
void HMMFree();

//h_memoryglobal.cpp
HMMPointer HMMGlobalAlloc(unsigned int Size, bool Lock = false, HMMInstance *MemInstance = NULL);
void HMMGlobalFree(HMMPointer &);
void HMMLock(HMMPointer &);
void HMMUnLock(HMMPointer &);

//h_memoryvirtual.cpp
HMMPointer HMMVitualAlloc(unsigned int Size, HMMInstance *MemInstance = NULL);
void HMMVirtualFree(HMMPointer &);

//------------

enum HMMMemType{
HMT_GLOBAL,
HMT_VIRTUAL
};

class DLLIMPORT HMMPointer{

friend void HMMInit(unsigned int);
friend void HMMFree();

friend HMMPointer HMMGlobalAlloc(unsigned int, bool, HMMInstance *);
friend void HMMGlobalFree(HMMPointer &);
friend void HMMLock(HMMPointer &);
friend void HMMUnLock(HMMPointer &);

friend HMMPointer HMMVitualAlloc(unsigned int, HMMInstance *);
friend void HMMVirtualFree(HMMPointer &);

public : HMMPointer(LPHMMInstance InstOwner);
~HMMPointer();

private : void *_Pointer;
HMMMemType _Type;
unsigned int _Size;
bool _Locked;
LPHMMInstance _InstOwner;

operator void* ( );
operator unsigned int ( );

};

struct HMMInstance{
unsigned int Count;
LPHMMPointer *Pointers;
};

Et voilà ce que le compilo me renvoie:

38: syntax error before `{´
41: friend declaration not in class definition
43: friend declaration not in class definition
. ..(c´est tout le temps la m^me)
51: parse error before `public´
52: destructors must be member functions
54: parse error before `private´
60: `operator void *()´ must be a nonstatic member function
60: `operator void *()´ must take exactly one argument
61: `operator unsigned int()´ must be a nonstatic member function
61: `operator unsigned int()´ must take exactly one argument
63: parse error before `}´

Et voilà, je suis complètement paumé.

Help me!

GamerFou2
GamerFou2
Niveau 7
27 janvier 2003 à 10:10:16

oulala ! pas très facile à lire, merci jv.com ! Tout ca c´est dans plusieurs fichiers différents c´est ca ?
Si c´est le cas vérifie bien l´ordre des tes includes parceque là ca a l´air d´être un truc non déclaré. C´est quoi la ligne 38 extactement ?

GamerFou2
GamerFou2
Niveau 7
27 janvier 2003 à 10:38:04

En passant, il est égal à quoi ton symbole DLLIMPORT ?

SuperDindon
SuperDindon
Niveau 8
27 janvier 2003 à 12:33:59

Oui, le fichier(mais il y en a qu´un seul) n´est pas complet mais je vous ai juste épargné de la sentinnelle et de l´include de windows.h. Si tu en pense en avoir besoin, demande le moi mais je suis pas sûr que ça te serve à grand chose.

Sinon, DLLIMPORT est défini par __declspec(dllexport). Je t´explique pourquoi j´utilise ce nom bizarre...:

  1. if BUILDING_DLL
  2. define DLLIMPORT __declspec ( dllexport)
  3. else
  4. define DLLIMPORT __declspec ( dllimport)
  5. endif

Voilà, comme ça pas de risque de se gourer.
Ca paraît con mais j´en ai bavé jadis.

La ligne 38 correspond à
class DLLIMPORT HMMPointer{

Pour te donner une idée, la 63 est la dernière
que j´ai copiée-collée

SuperDindon
SuperDindon
Niveau 8
27 janvier 2003 à 12:34:50

Mince c´est con ce que je viens d´écrire

GamerFou2
GamerFou2
Niveau 7
27 janvier 2003 à 12:41:44

Es tu sur que le compilo connait le symbole DLLIMPORT au moment de la déclaration de ta classe HMMPointer ?

SuperDindon
SuperDindon
Niveau 8
27 janvier 2003 à 13:31:44

Dans le mille!

J´ai remplacé DLLIMPORT par __declspec(dllexport)... et tout fonctionne!

Very thanks por you(j´essaye de varier mais je commence à épuiser ma réserve de remerciements)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment