c++ - 头文件中的类定义 C++

标签 c++ visual-c++ linker

我有这个代码:

#include <time.h> 
class ElapsedTime
{   
    time_t _startTime;
public:
    ElapsedTime(void){
        time(&_startTime);  
    }

    double MiliSecond()
    {
        time_t endTime;
        time(&endTime);
        return difftime(_startTime,endTime) * 1000;
    }

    ~ElapsedTime(void);
};

我在我的 C++ 代码中使用了它。它编译但在链接期间生成错误,因为链接器说它找不到 elapsetime 定义。

如何在H文件中完整定义一个类?对于这个简单的类,我不想有 .h 和 .cpp。

最佳答案

您忘记为析构函数提供定义:

~ElapsedTime(void) { }
//                 ^^^

但是请注意,在这种情况下您不需要显式提供析构函数:编译器会为您隐式生成一个。简单地省略它。

关于c++ - 头文件中的类定义 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16713903/

相关文章:

c++ - Visual Studio 2015 Update 2 RC 中的 regex_token_iterator 问题

c++ - 一个类作为另一个类的友元的成员函数

c++ - 尝试将任何函数作为参数发送并推断类型?

c++ - 数组排序

c++ - 如果我不将预写的字符串保存到变量中,它是否还在内存中?

c++ - 编译器什么时候需要访问库?

c - 如何获取指向 MSVC 中二进制部分的指针?

ios - Xcode - 链接器命令失败并显示退出代码

c++ - 神秘的链接器错误

c++ - C/C++ 动态加载具有未知原型(prototype)的函数