有没有办法在头文件中声明指针并在.cpp中实例化它?

Sai*_*int 3 c++ pointers

正如我的问题所示:有没有办法在头文件中声明指针并在.cpp中实例化它?

到目前为止我有这个:

.H:

FILE* stream;
Run Code Online (Sandbox Code Playgroud)

的.cpp

stream = fopen("com2", "r");
Run Code Online (Sandbox Code Playgroud)

但这给了我这个错误:

1> gpsHandler.obj:错误LNK2001:未解析的外部符号"struct _iobuf*stream"(?stream @@ 3PAU_iobuf @@ A)1> C:\ Users***\portReading\Debug\portReading.exe:致命错误LNK1120: 1个未解决的外部因素

Mar*_*lon 5

只要源文件中的变量不是static(内部链接),就可以在头文件中声明变量extern FILE* stream;.这是我们声明全局变量的方式:

.H:

extern FILE* stream;
Run Code Online (Sandbox Code Playgroud)

的.cpp:

FILE* stream;
Run Code Online (Sandbox Code Playgroud)

就你的错误而言,你可能需要 #include <cstdio>