Hallo zusammen,
mit folgendem Code lese ich eine Speicheradresse aus (funktioniert):
1 | tU08 *data
|
2 | typedef unsigned char tU08;
|
3 | typedef unsigned int tU16;
|
4 | tU08 *address;
|
5 | address = ((((tU16)data[1])<<8)|data[2]);
|
mit
data[1]=HighByte Quelladresse, data[2]=LowByte Quelladresse.
Das Problem:
Ich bekomme folgende Compiler-Warnung:
"assignment makes pointer from integer without a cast"
Ein type cast mit (tU08*) bringt mir lediglich folgende Warnung:
"cast to pointer from integer of different size":
1 | address = (tU08*)((((tU16)data[1])<<8)|data[2]);
|
Compiler: GNUM16CM32C v0702 based on gcc-4.2-20061205, binutils-2.17.50,
newlib-1.14.0 and gdb-6.6
Controller: M32C83
Frage:
Wie bekomme ich die Warnung weg ?
Gruß.