2011-03-08 35 views
3

正如我的問題所示: 有沒有辦法在頭文件中聲明一個指針並在.cpp中實例化它?有沒有辦法在頭文件中聲明一個指針並在.cpp中實例化它?

我有這個至今:

.H:

FILE* stream; 

的.cpp

stream = fopen("com2", "r"); 

但是,這給我這個錯誤:

1>gpsHandler.obj : error LNK2001: unresolved external symbol "struct _iobuf * stream" ([email protected]@[email protected]@A) 1>C:\Users***\portReading\Debug\portReading.exe : fatal error LNK1120: 1 unresolved externals

+0

有你包含頭文件在您的.cpp? – 2011-03-08 04:09:23

+0

儘管您所做的事情不正確,但您發佈的錯誤消息仍與您發佈的「代碼」不一致。編輯您的帖子。 .h文件的名稱是什麼? .cpp文件的名稱是什麼?前者是否被納入後者?什麼文件是'gpsHandler'? – AnT 2011-03-08 04:10:27

回答

1

嘗試將它聲明作爲extern FILE* straem;在頭呃文件?

+0

試過了,沒有骰子 – Saint 2011-03-08 04:44:37

5

只要源文件中的變量不是static(內部鏈接),就可以在包含extern FILE* stream;的頭文件中聲明該變量。這就是我們如何聲明全局變量:

.H:

extern FILE* stream; 

的.cpp:

FILE* stream; 

至於你的錯誤而言,你可能需要#include <cstdio>

相關問題