Нет. Правильный синтаксис:
void printNew(FILE *&fpt)
{
//change to fpt in here kept after function exits?
}
Ваш код изменит только локальный указатель на указатель ФАЙЛА . В вашем коде вызывающий видит только изменения на *fpt
. Если вы измените его на вышеприведенный, все передается по ссылке, и изменения продвигаются как задумано. Соответствующий аргумент передается как обычно
printNew(fpt);