Possible Duplicate:
What is an undefined reference/unresolved external symbol error and how do I fix it?
我是C ++的新手(您可能会问到这个问题),但遇到了问题。我有两个文件:Drives.h和Drives.cpp
驱动器
#pragma once
enum MountMode
{
User,
System,
Both,
Auto
};
class Drive
{
public:
Drive(void);
~Drive(void);
BOOL Mount(MountMode mode);
VOID Unmount(void);
BOOL IsConnected(void);
static char* DeviceName;
static char* DrivePath;
};
class Drives
{
public:
Drives(void);
~Drives(void);
};
和我的Drives.cpp:
#include "stdafx.h"
#include "Drives.h"
Drives::Drives(void)
{
Drive USB0; //Error happening here
}
Drives::~Drives(void)
{
}
该错误表明Drives类的构造函数,析构函数和IsConnected()都是未解析的外部对象。我不确定我缺少什么,因为我像在cplusplus.com上设置此类一样
提前致谢
最佳答案
如错误消息所述,您尚未实现Drive
的构造函数和析构函数:
Drive::Drive(void) {
...
}
Drive::~Drive(void) {
...
}
创建类类型的局部变量(如您在
Drive USB0;
中所做的那样)将调用该类的构造函数,而析构函数将在变量作用域的末尾被调用。因此错误。您还应该实现
Drive
的其他功能-在类声明中声明一个函数本质上是保证该函数将在某个地方实现。关于c++ - 未解析的外部符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6643903/