T.T*_*.T. 0 c++ variables pointers reference pass-by-reference
这是通过引用传递文件指针的正确语法吗?
功能调用: printNew(&fpt);
printNew(FILE **fpt)
{
//change to fpt in here kept after function exits?
}
Run Code Online (Sandbox Code Playgroud)
不.正确的语法是
void printNew(FILE *&fpt)
{
//change to fpt in here kept after function exits?
}
Run Code Online (Sandbox Code Playgroud)
您的代码只会将本地指针更改为FILE指针.只有*fpt您的代码中的调用者才能看到更改.如果将其更改为上述内容,则会通过引用传递内容,并且会按预期进行更改.相应的参数照常传递
printNew(fpt);
Run Code Online (Sandbox Code Playgroud)