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

[C++ DLL] Message d'erreur du compilo

ska1
ska1
Niveau 8
22 février 2014 à 21:24:56

Bonjour tous le monde;
Alors voila, j'écris une dll toute simple mais, lorsque je compile, le compilateur me sort une erreur que je n'arrive pas à combler:

Jump to case label [-fpermissive]
crosses initialization of 'bool compteur'
(il me repete ces 2 messages d'erreurs 3 fois)

voici le code (qui est léger :) )

bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch(fdwReason)
{
case DLL_PROCESS_ATTACH:
int compteur = 10;
MessageBox(NULL, "DLL injectée", "Informations", MB_OK);
while(compteur > 0)
{
std::cout << "Test" << std::endl;
compteur--;
}
break;
case DLL_THREAD_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_DETACH:
break;
}
}

godrik
godrik
Niveau 30
22 février 2014 à 22:08:12

met le code de _PROCESS_ATTACH dans son propre bloc. ce qui se passe c'est que tu as une variable declare dans le meme scope que le case et entre deux label de ton case.

ska1
ska1
Niveau 8
22 février 2014 à 22:39:17

Excuse-moi mais j'ai du mal à comprendre ton message mais, si j'ai bien compris, je dois mettre la déclaration de ma variable avant mon switch (c'est ce que j'ai fait et je n'ai plus l'erreur du compilateur) donc merci beaucoup :)

godrik
godrik
Niveau 30
22 février 2014 à 23:06:02

un case c'est comme un goto moralement.

tu ne peux pas faire ca:

goto foo;
int a;
//do stuff
foo:

mais tu peux faire ca
int a;
goto foo;
//do stuff
foo:
//a est visible ici

ou encore ca
goto foo;
{
int a;
//do stuff
}
foo:
//a n'est pas visible ici

Pseudo supprimé
Pseudo supprimé 23 février 2014 à 10:11:22

Pour déclarer des variables dans un case/break il faut que tu mette :
case DLL_PROCESS_ATTACH:{
//Ton code
}break;
case suivant:
//Reste
break;

Coucou bout de Win32 bizarre :hap:

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