Programación General > C/C++
compilador con confusion con tipos bool y BYTE
(1/1)
diego.martinez:
Buenas:
Estoy intentando compilar un proyecto y me estoy encontrando con que el compilador es como si confundiese bool y BYTE.
Por ello, cuando compilo me da el fallo:
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlcomcli.h(2147): error C2535: 'ATL::CComVariant::CComVariant(BYTE) throw()' : member function already defined or declared
justo despues de
--- Código: C++ ---CComVariant(_In_ bool bSrc) throw() { vt = VT_BOOL; boolVal = bSrc ? ATL_VARIANT_TRUE : ATL_VARIANT_FALSE; }CComVariant(_In_ BYTE nSrc) throw() //<--- FALLO { vt = VT_UI1; bVal = nSrc; }
y luego me da errores que me hacen pensar que confunde a veces bool con BYTE, pero no se por que
DeviceBeacon.cpp(66): error C2556: 'BYTE DEVICEBEACON::AllowBarChange(int *,int *,int *)' : overloaded function differs only by return type from 'bool DEVICEBEACON::AllowBarChange(int *,int *,int *)'
1> c:\users\diego\desktop\current\agotekconfigurator2.0 v2.2.5\DEVICEBEACON.h(23) : see declaration of 'DEVICEBEACON::AllowBarChange'
y en la clase esta definido :
--- Código: C++ --- bool AllowBarChange (int *,int *,int *);
y en el cpp donde dice que esta el fallo:
--- Código: C++ ---bool DEVICEBEACON::AllowBarChange (int * P,int * S,int * R){ *R=0; return true;}
Alguien sabe a que se puede deber esto?
Me esta volviendo loco.
Gracias!
caperutxa:
Bueno, por las letritas azules, el entorno de desarrollo no considera BYTE como palabra reservada.
Busca en la documentación la sintaxis correcta para definir BYTE. Seguramente todos los fallos aparecen ahí, porque no es que te confunda bool con BYTE es que no te reconoce la definición BYTE.
Navegación
Ir a la versión completa