Я хочу перенести проект, используя gcc, на компилятор IAR, но IAR жалуется на несколько функций, используя void * в качестве формального параметра.
struct
{
uint16_t ConnectionHandle;
uint8_t Reason;
}DisconnectParams;
прототипом функции является
bool Bluetooth_HCI_SendControlPacket(BT_StackConfig_t* const StackState,
const uint16_t OpCode,
const uint8_t Length,
const void* Data);
и использование:
Bluetooth_HCI_SendControlPacket(StackState, (OGF_LINK_CONTROL | OCF_LINK_CONTROL_DISCONNECT), sizeof(DisconnectParams), &DisconnectParams);
Здесь жалуются Ошибка [Pe167]: аргумент типа "struct *" несовместим с параметром типа "void const *"
И другое место
static inline void SDP_WriteData8(void** BufferPos,const uint8_t Data)
{
*((uint8_t*)*BufferPos) = Data;
*BufferPos += sizeof(uint8_t);
}
Ошибка [Pe852]: выражение должно быть указателем на полный тип объекта.Как я знаю, void * может принимать любой указатель, как изменить код для удаления этих ошибок?Спасибо!
Крис