Неопределенная ссылка на переменную заголовка в Qt C ++ - PullRequest
0 голосов
/ 09 июня 2011

У меня проблема с моей программой, когда я объявил переменную из заголовочного файла и запустил ее в файле CPP. Я получаю ошибку, которая является неопределенной ссылкой на переменную.

вот пример кода моего проекта:

ФАЙЛ CPP

#include "function.h"
CClass::CClass() : m_Db(HOST,USER,PASSWORD,DATABASE)
{
   ...
}

ФАЙЛ ГОЛОВКИ

#ifndef CONNECTION_H
#define CONNECTION_H

#include "crypt.h"

extern CCrypt *c_crypting;

#define HOST c_crypting->Decrypt_Host()
#define USER c_crypting->Decrypt_Username()
#define PASSWORD c_crypting->Decrypt_Password()
#define DATABASE c_crypting->Decrypt_Database()

#endif // DBCONNECTION_H

если я запускаю этот код, я получаю сообщение об ошибке "неопределенная ссылка на 'c_crypting'"

1 Ответ

2 голосов
/ 09 июня 2011

Эта строка в вашем заголовочном файле:

extern CCrypt *c_crypting;

не создает указатель c_crypting.Он только говорит, что «один из моих модулей кода будет иметь указатель на CCrypt, который называется c_crypting», так что другие файлы кода могут использовать это.Вам нужно иметь что-то вроде:

CCrypt *c_crypting; // possibly '= 0;'

в одном из ваших .cpp файлов и правильно инициализировать его где-нибудь.

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