为什么不能这样给指针赋值
#include<iostream.h>
void main()
{
int *p1; int i=350;
p1=&i; char *p2="wu yan";
long *p3=352;
cout<<p1<<" "<<*p1<<endl;
cout<<p2<<" "<<*p2<<endl;
cout<<p3<<" "<<*p3<<endl;
}
运行后有个问题。编译器解释下面这句:
long *p3=352;
'initializing' : cannot convert from 'const int' to 'long *'
可是为什么可以直接给指针赋字符初值呢?