Main.c:41:9: warning: assignment makes integer from pointer without a cast temp = *(store + i * SIZE + j);
时间: 2023-06-25 20:07:05 浏览: 48
这个警告提示是因为你将一个指针类型的值赋值给了一个整型变量。可能是你在代码中使用了类似以下的语句:
```c
int temp;
temp = *(store + i * SIZE + j);
```
其中 `store` 是一个指向某个数组的指针,`i` 和 `j` 是循环计数器,`SIZE` 是数组的大小。这里的 `*(store + i * SIZE + j)` 表示数组中第 `i` 行、第 `j` 列的元素。
如果 `*(store + i * SIZE + j)` 返回的是一个指针类型的值,那么就会发生警告。要消除这个警告,可以将 `temp` 的类型改为指针类型,或者将 `*(store + i * SIZE + j)` 强制转换为整型。具体的解决方法要根据你的代码实际情况来确定。
相关问题
3main.c:12:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
这个警告是因为你在代码中将整型的返回值赋值给了指针类型的变量,导致编译器发出警告。可能的原因是你没有正确地声明变量的类型。请确保你声明的变量类型与函数返回值类型匹配。如果你确定返回值是一个指针类型,那么可以使用类型转换来解决这个问题,例如:
```c
fp = (FILE*)err;
```
这里将整型的返回值`err`强制转换为指针类型`FILE*`,然后赋值给变量`fp`。这样就可以消除编译器的警告了。但是需要注意的是,这种类型转换可能会导致运行时错误,因此需要谨慎使用。
[Warning] assignment makes integer from pointer without a cast是什么意思
这个警告意味着你在将一个指针赋值给整数类型的变量时,没有进行强制类型转换。这通常会导致数据损坏或内存泄漏等问题。例如,以下代码将会出现这个警告:
```
int *ptr = malloc(sizeof(int));
int var = ptr; // 产生警告:assignment makes integer from pointer without a cast
```
正确的做法是将指针类型转换为整数类型,例如:
```
int var = (int)ptr;
```