Есть ли способ объявить указатель в заголовочном файле и создать его экземпляр в .cpp? - PullRequest
3 голосов
/ 08 марта 2011

Точно так же, как мой вопрос гласит: есть ли способ объявить указатель в заголовочном файле и создать его экземпляр в .cpp?

Пока у меня есть это:

.h:

FILE* stream;

.cpp

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

Но это дает мне эту ошибку:

1> gpsHandler.obj: ошибка LNK2001: неразрешенный внешний символ "struct_iobuf * stream "(? stream @@ 3PAU_iobuf @@ A) 1> C: \ Users *** \ portReading \ Debug \ portReading.exe: фатальная ошибка LNK1120: 1 неразрешенный внешний код

Ответы [ 2 ]

5 голосов
/ 08 марта 2011

Пока переменная в исходном файле не является static (внутренняя связь), вы можете объявить переменную в заголовочном файле с помощью extern FILE* stream;. Вот как мы объявляем глобальные переменные:

.h:

extern FILE* stream;

.cpp:

FILE* stream;

Что касается вашей ошибки, вам, вероятно, нужно #include <cstdio>

1 голос
/ 08 марта 2011

попробуйте объявить его как extern FILE* straem; в заголовочном файле?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...