Bonjour j'ai un problème de compilation.
J'ai isolé mon problème avec le petit source suivant :
#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 ?




Répondre avec citation
Partager