Я хотел бы передать указатель по ссылке на функцию, чтобы я мог реально изменить адрес, на который указывает переданный указатель, и я хотел бы присвоить этому аргументу значение по умолчанию.
как то так:
в декларации
void myFunc(SomeType* &var=NULL);
и определение:
void MyClass::myFunc(SomeType* &var){
if(var!=NULL)
(*var)=(*someOtherPointer);
if(someCondition)
var=NULL;
}
такой, что вызываемый абонент может решить, хочет ли он вызвать функцию с одним аргументом или без аргумента. И так, что если он решит передать аргумент и выполнит someCondition, переданный указатель впоследствии будет указывать на NULL
однако - если я попытаюсь сделать это так, я получу:
Ошибка C2440: «аргумент по умолчанию»: «int» нельзя преобразовать в «SomeType * &»
Спасибо за помощь!