Ich bin nicht in der Lage herauszufinden, wie Sie die obige Warnung aus der unteren Zeile des Codes entfernen. Daten sind ein ungültiger Zeiger und als Teil der Rückruffunktion wird eine Zeichenfolge im Datenzeiger empfangen. Da ich den ungültigen Zeiger typecast habe, aber Compiler, der immer noch die Warnung zeigt.In Bezug auf Dereferenzierung 'void *' Zeiger
Es gibt grundsätzlich zwei Warnungen in der unteren Zeile. 1. dereferencing 'void *' Zeiger 2. Adresse des Ausdrucks des Typs unter ‚Leere
service_ind = atoi((const char*)&data[at_response.param[0].start_of_value_index]) ? TRUE:FALSE ;
Unten benötigt werden Informationen
void * data;
AT_PARSER_RESPONSE at_response;
typedef struct
{
/*Other parameters */
AT_PARAM param[AT_MAX_NUM_PARAM];
}AT_PARSER_RESPONSE
Bitte zeigen Sie die Definitionen von 'data',' at_response' und was auch immer der Typ von 'at_response.param [0]' ist. – aschepler
Ich denke (immer noch meine erste Tasse Kaffee) die Rangfolge ist nicht das, was Sie denken für '(const char *) & data [at_response.param [0] .start_of_value_index]' (dh Sie können zusätzliche Klammern benötigen), oder dass Sie 'data' in einen gültigen Typ umwandeln müssen, bevor Sie' [] 'verwenden, je nachdem, was' data' * wirklich * ist. – crashmstr