求教关于C++指针的一个问题
#include <iostream>using namespace std;class A{public: void abc(int *p,int *q) { *p=1;//这里能赋值 *q=2;//这里能赋值 cout<<*p<<" "<<*q<<endl; }};void main() { int a=7; int *b=&a; int *v; *v=7;//为什么这里不能赋值 int c=8; int *d=&c; A g; g.abc(b,d); cout<<*b<<" "<<*d<<endl;} #include <iostream>using namespace std;class A{public: void abc(int *p,int *q) { *p=1;//这里能赋值 *q=2;//这里能赋值 cout<<*p<<" "<<*q<<endl; }};void main() { int a=7; int *b=&a; int *v = new int;//因为你只定义了指针,未分配内存,分配了内存就能赋值了 *v=7;//为什么这里不能赋值 int c=8; int *d=&c; A g; g.abc(b,d);//函数能赋值是因为这里的b,d参数都已经申请了内存 cout<<*b<<" "<<*d<<endl;}