Forum: PC-Programmierung Compilerfehler nach Projektumstellung C>C++


von James N. (nygma)


Lesenswert?

Hallo liebes Forum,

ich habe einen Compilerfehler nachdem ich ein AVR Studio Projekt von C 
auf C++ umgestellt habe. Es geht um die Typkonvertierung.
Da der Code auf C lief bräuchte ich wahrscheinlich nur den Code wie die 
Typkonvertierung beim compilen ingnoriert wird.
1
 
2
//Fehler:
3
invalid conversion from 'uint16_t {aka unsigned int}' to 'const void*' [-fpermissive]
4
5
//Method call
6
eeprom_read_block(PO,Adresse,1600);
7
8
//Method decl
9
void eeprom_read_block (void *__dst, const void *__src, size_t __n);

Danke schon mal für eure Hilfe!

~Nygma

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

James N. schrieb:
> invalid conversion from 'uint16_t {aka unsigned int}' to 'const void*'

Das sollte doch ein uint16_t* sein, kein uint16_t.

von Hans (Gast)


Lesenswert?

Die Variablen PO und/oder Adresse haben den falschen Datentyp. Statt 
uint16_t sollten das Zeiger sein, also z.B. uint8_t* oder auf was auch 
immer für einen Datentyp sie eben zeigen.

Quick and dirty könntest Du auch einfach nach void* casten.

von James N. (nygma)


Lesenswert?

Hans schrieb:
> Quick and dirty könntest Du auch einfach nach void* casten.

Danke, das suche ich. Nur wo muss das hin?

von Hans (Gast)


Lesenswert?

1
eeprom_read_block((void*)PO,(void*)Adresse,1600);

von Hans (Gast)


Lesenswert?

Bzw. der Fehlermeldung nach reicht vermutlich:
1
eeprom_read_block(PO,(void*)Adresse,1600);
Sauberer wäre aber wie gesagt gleich den richtigen Datentyp für Adresse 
zu nehmen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.