【发布时间】:2018-04-10 20:39:17
【问题描述】:
您好,我收到此错误:'assignment make integer from pointer without a cast'
我所做的是将来自不同类型数组的许多值放入一个指针数组中。结果,我在将整数分配给我的 char 指针数组的代码上收到了这个警告。
这是我的代码:
int id[10] = {120, 121, 122, 123,124,125, 126, 127, 128,129 };
char *from[5] = {"value1", "value2", "value3", "value4", "value5" };
char *to[5] = {"value1", "value2", "value3", "value4", "value5" };
int date[5][3] = {{10,6,2018},{15,6,2018},{20,6,2018},{1,7,2018},{15,7,2018}};
char *flight[30];
int i = 2;
int counter = 0;
flight[0]="Flight ID:";
flight[1]= id[i]; //warning in this line.
flight[2]=" From:";
flight[3]=from[i];
flight[4]=" to:";
flight[5]=to[i];
flight[6]=" Depart on:";
flight[7]=date[i][0];//warning in this line.
flight[8]="/";
flight[9]=date[i][1]; //warning in this line.
flight[10]="/";
flight[11]=date[i][2]; //warning in this line.
【问题讨论】:
-
仅供参考,您并没有更新
counter的值,所以您只是一遍又一遍地替换了 flight[1] 的值 -
您尝试将值从日期复制到航班的任何地方,您都在尝试将 int 复制到 char*。你想做什么?
-
你正在用整数分配指针
-
这段代码真正应该做什么?
id[i]是int122,flight[counter+1]是char*。为什么要将 122 分配给指针? -
你想用这段代码完成什么?具体来说,您(正确地)被警告的行?