Hello à tous,

J'ai du migrer un programme C vers un compilateur C++ suite à l'ajout d'une bibliothèque dynamique compiler dans ce dernier.
Le changement de compilateur me retourne une erreur que je n'avais pas sur un compilateur C.
Malheureusement je ne maitrise pas le C++, et espère que les fonctions incriminées et le log du compilateur inspirera une âme charitable

Merci par avance.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
H:\sandbox\test\main.cpp||In function 'BOOL ReadCOM(void*, int, int*)':|
H:\sandbox\test\main.cpp|207|error: invalid conversion from 'int*' to 'PDWORD {aka long unsigned int*}' [-fpermissive]|
C:\Program Files (x86)\CodeBlocks\MinGW\include\winbase.h|2012|note: initializing argument 4 of 'BOOL ReadFile(HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED)'|
 
H:\sandbox\test\main.cpp||In function 'BOOL WriteCOM(void*, int, int*)':|
H:\sandbox\test\main.cpp|221|error: invalid conversion from 'int*' to 'PDWORD {aka long unsigned int*}' [-fpermissive]|
C:\Program Files (x86)\CodeBlocks\MinGW\include\winbase.h|2206|note: initializing argument 4 of 'BOOL WriteFile(HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED)'|

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
BOOL ReadCOM    (void* buffer, int nBytesToRead, int* pBytesRead);
BOOL WriteCOM   (void* buffer, int nBytesToWrite, int* pBytesWritten);
 
 
BOOL ReadCOM(void* buffer, int nBytesToRead, int* pBytesRead)
{
    return ReadFile(g_hCOM, buffer, nBytesToRead, pBytesRead, NULL);
}
 
 
BOOL WriteCOM(void* buffer, int nBytesToWrite, int* pBytesWritten)
{
    /* écriture sur le port */
    return WriteFile(g_hCOM, buffer, nBytesToWrite, pBytesWritten, NULL);
}