C语言指针问题
两种情况都没有报错能正常运行, 但是一个有提醒一个没有提醒, 为什么啊?#include <stdio.h>
void main()
{
int i;
// int*p1, *p2; // 这样没有提醒
int*p1, **p2; // 这样就会提醒 'int ** ' differs in levels of indirection from 'int *'
i = 1;
p1 = &i;
p2 = p1;
printf("%d\n%d\n%d\n", i, *p1, *p2);
} (11): error C2440: “=”: 无法从“int *”转换为“int **”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换 万籁无声 发表于 2015-5-11 17:43
(11): error C2440: “=”: 无法从“int *”转换为“int **”
1> 与指向的类型无关;转换要求 re ...
我也不懂!vs2010就是这么说的,自己解决吧! #include <stdio.h>
void main()
{
int i;
// int*p1, *p2; // 这样没有提醒
int*p1, *p2; // 这样就会提醒 'int ** ' differs in levels of indirection from 'int *'
i = 1;
p1 = &i;
p2 = p1;
printf("%d\n%d\n%d\n", i, *p1, *p2);
} 你第七行p2前面删掉一个*
页:
[1]