Können Parameter zu Funktionen nicht typedef'ed? [geschlossen]

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Können Parameter zu Funktionen nicht typedef'ed? [geschlossen]

by Anonymous » 06 Feb 2025, 02:41

Ich habe einen Typedef < /p>

Code: Select all

typedef struct __attribute__((__packed__)) {
uint16_t firmware_version;          // Minor, Major version
uint16_t buildcount;
char build_date[10];
char firmware_name[128];
} firmware_t;
< /code>
Ich habe versucht, eine Funktion zu definieren < /p>
void printFirmwareInfo(firmware_t *firmware, size_t len) { ...}
< /code>
, aber der Compiler wurde völlig verwirrt und glaubte, dass PrintiMWareInfo eine Variable oder ein Feld war und keine Firmware_t im Geltungsbereich sehen konnte. < /p>
error: variable or field 'printFirmwareInfo' declared void
void printFirmwareInfo(firmware_t *firmware, size_t len) {

error: 'firmware_t' was not declared in this scope
void printFirmwareInfo(firmware_t *firmware, size_t len) {
< /code>
Ich musste den Parameter als uint8_t * übergeben und ihn in die Funktion zurückgeben < /p>
void printFirmwareInfo(uint8_t *data, size_t len) {
firmware_t *firmware = (firmware_t *)data;
Serial.printf("Firmware Version: %u.%u\n", firmware->firmware_version >> 8, firmware->firmware_version & 0xFF);
Serial.printf("Build Count: %u\n", firmware->buildcount);
< /code>
Ist es ein Fehler oder wie es sein soll? />#include 
#include 
#include 
#include 
Die Typedefs befinden sich über den Funktionen

Top