我的程序有问题,我在头文件中声明变量并在CPP文件上执行。我收到一个错误,这是对变量的未定义引用。
这是我项目的示例代码:
CPP文件
#include "function.h"
CClass::CClass() : m_Db(HOST,USER,PASSWORD,DATABASE)
{
...
}
HEADER FILE
#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'的错误”
答案 0 :(得分:2)
标题文件中的这一行:
extern CCrypt *c_crypting;
不会创建c_crypting
指针。它只说“我的一个代码模块将有一个指向CCrypt的指针,称为c_crypting”,以便其他代码文件可以使用它。你需要有类似的东西:
CCrypt *c_crypting; // possibly '= 0;'
在您的.cpp
个文件中,并在某处正确初始化。