编写程序时指针类型有问题。
该代码如下所示:
datatype B;
int func(datatype* A){
A=&B;
};
int main(int argc,char** argv){
dataType* mainA=new dataType;
func(mainA);
}
我想要的是在执行
func(mainA)
之后。 mainA
指向B。我知道我的代码是错误的,此后,mainA并未更改。我认为这应该称为按引用调用。谁能帮我解决这个问题?非常感谢。
最佳答案
您可以使参数成为指针的引用。最后,指针也是一个对象,可以通过引用进行修改。
int func(datatype*& A)
{
A = &B;
}
但是,我希望返回结果并分配它:
datatype* func()
{
return &B;
}
// […]
dataType* mainA = func();
关于c++ - c++指针类型和引用调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26892196/