Forum: PC-Programmierung Initialization makes integer from pointer without a cast


von Felix (Gast)


Lesenswert?

Hallo,
ich habe ein problem mit einer Warnung, die ich gerne weg hätte, aber 
nicht weg bekomme.

file.h
1
typedef enum
2
{
3
  red,
4
  blue,
5
  green
6
}colors_te
7
8
typedef struct
9
{
10
  const colors_te color;
11
  uint8 numbers;
12
}inputInfo_ts;

file.c
1
static infputInfo_ts inputInfo_as[] = 
2
{
3
  {red, 0},
4
  {blue, 0},
5
  {green, 0}
6
}

Die Warnung ist:
initialisation makes integer from pointer without a cast
Dieser bezieht sich auf red, blue und green im struct.

Aber warum castet der überhaupt? Typ soll doch colors_te sein.

von g457 (Gast)


Lesenswert?

> ich habe ein problem [..]

Das Problem ist, dass Du uns nicht den richtigen Code zeigst sondern 
irgendwasfastsoähnliches.

Beitrag #6470477 wurde von einem Moderator gelöscht.
von Programmierer (Gast)


Lesenswert?

Also ich kriege völlig andere Fehlermeldungen:
1
test.c:6:11: error: expected ‘;’ before ‘typedef’
2
    6 | }colors_te
3
      |           ^
4
      |           ;
5
    7 | 
6
    8 | typedef struct
7
      | ~~~~~~~    
8
test.c:10:9: error: unknown type name ‘colors_te’
9
   10 |   const colors_te color;
10
      |         ^~~~~~~~~
11
test.c:11:3: error: unknown type name ‘uint8’
12
   11 |   uint8 numbers;
13
      |   ^~~~~
14
test.c:14:8: error: unknown type name ‘infputInfo_ts’
15
   14 | static infputInfo_ts inputInfo_as[] =
16
      |        ^~~~~~~~~~~~~
17
test.c:16:3: warning: braces around scalar initializer
18
   16 |   {red, 0}, ...

Du zeigst also nicht den tatsächlichen Code, sondern irgendwas anderes.

von Rolf M. (rmagnus)


Lesenswert?

Dazu kommt, dass in dem Code keinerlei Zeiger vorkommen. Die 
Fehlermeldung passt also nicht dazu.
Du solltest ein minimales, aber vollständiges Programm posten, das du 
genau so durch den Compiler hast laufen lassen und das den Fehler 
produziert.

von PittyJ (Gast)


Lesenswert?

Ich sehe da auch erst einmal ein paar fehlende Semokolons.

von Mark B. (markbrandis)


Lesenswert?

Felix schrieb:
> Aber warum castet der überhaupt? Typ soll doch colors_te sein.

Niemand castet hier. Der Code den du zeigst verursacht keine solche 
Fehlermeldung. Poste mal den tatsächlichen Code.

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.