正如我的问题所示:有没有办法在头文件中声明指针并在.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个未解决的外部因素
只要源文件中的变量不是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>