我希望将一个指针通过引用传递给一个函数,这样我就可以实际更改传递的指针所指向的地址,并且我想为该参数指定一个默认值。
类似这样:
在声明中:
并且这是定义:
类似这样:
在声明中:
void myFunc(SomeType* &var=NULL);
并且这是定义:
void MyClass::myFunc(SomeType* &var){
if(var!=NULL)
(*var)=(*someOtherPointer);
if(someCondition)
var=NULL;
}
这样调用者可以决定是否使用一个参数或不使用参数来调用函数。如果他决定传递参数,并且某个条件成立,那么传递的指针在之后将指向NULL。
但是,如果我像这样尝试,就会出现以下错误:
错误C2440:“默认参数”:无法将“int”转换为“SomeType *&”
感谢您的帮助!