IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Incompréhension erreur "invalid conversion from 'DWORD' {aka 'long unsigned int'} to 'DWORD* (*)()"


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2025
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2025
    Messages : 2
    Par défaut Incompréhension erreur "invalid conversion from 'DWORD' {aka 'long unsigned int'} to 'DWORD* (*)()"
    Bonjour j'ai un problème de compilation.

    J'ai isolé mon problème avec le petit source suivant :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <windows.h>
     
    void ToCallVoid(DWORD errno) { }
     
    int Caller(DWORD errno) {
    	ToCallVoid(errno);
    	return 0;
    }
     
    int wmain (int argc, wchar_t **argv, wchar_t **envp) { return 0; }


    J'ai l'erreur suivante :

    .\src\testp.cpp:6:20: error: invalid conversion from 'DWORD' {aka 'long unsigned int'} to 'DWORD* (*)()' {aka 'long unsigned int* (*)()'} [-fpermissive]
        6 |         ToCallVoid(errno);
          |                    ^~~~~
          |                    |
          |                    DWORD {aka long unsigned int}
    .\src\testp.cpp:3:23: note: initializing argument 1 of 'void ToCallVoid(DWORD* (*)())'
        3 | void ToCallVoid(DWORD errno) { }
          |                       ^
    J'utilise : c++.exe (MinGW-W64 x86_64-ucrt-posix-seh, built by Brecht Sanders, r3) 15.2.0

    J'ai essayé différentes options de compilation mais toujours le même résultat.
    Le plus simple : c++.exe -o .\src\testp.cpp.obj -c .\src\testp.cpp
    donne bien la même erreur.

    Quelqu'un a-t-il une explication ?

  2. #2
    Membre éprouvé Avatar de kick54
    Homme Profil pro
    Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Inscrit en
    Mai 2016
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 116
    Par défaut
    Bonsoir,
    D'après le message d'erreur, je comprend que ToCallVoid() attend en paramètre un pointeur sur une fonction qui renvoie un pointeur sur un DWORD ...

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 769
    Par défaut
    errno est une macro, il vaut mieux utiliser un autre nom.

  4. #4
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2025
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2025
    Messages : 2
    Par défaut
    Citation Envoyé par jo_link_noir Voir le message
    errno est une macro, il vaut mieux utiliser un autre nom.
    C'est ça.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur " invalid conversion from 'char*'"
    Par cobra38 dans le forum Arduino
    Réponses: 4
    Dernier message: 10/10/2022, 21h32
  2. Réponses: 5
    Dernier message: 13/06/2020, 07h39
  3. error: invalid conversion from `const wxChar*' to `CHAR*'
    Par barbarello dans le forum wxWidgets
    Réponses: 16
    Dernier message: 31/01/2006, 12h28
  4. Réponses: 2
    Dernier message: 24/12/2005, 12h37
  5. Réponses: 2
    Dernier message: 10/11/2004, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo