此问题已解决,只需将cpp文件与项目实施重新添加即可。
我目前正在使用具有RAII功能的Timer,我遇到了构造函数和析构函数的“未解析的外部符号”错误。 我错过了什么吗?
main.cpp中:
#include "Timer.h"
#include "File.h"
int main()
{
RAIITimer timer;
File f{"test.txt", true};
for(int i{1000000}; i > 0; i--)
{
f.write("example\n");
}
}
Timer.h:
#pragma once
#include <chrono>
#include "Types.h"
using hr_clock = std::chrono::high_resolution_clock;
class RAIITimer
{
public:
RAIITimer(conststrref name = "Test");
~RAIITimer();
private:
hr_clock::time_point m_start;
hr_clock::time_point m_end;
std::string m_name;
};
Timer.cpp:
#include "Timer.h"
#include "OutUtils.h"
using std::chrono::milliseconds;
RAIITimer::RAIITimer(conststrref name)
: m_name {name}
{
m_start = hr_clock::now();
}
RAIITimer::~RAIITimer()
{
m_end = hr_clock::now();
double duration = std::chrono::duration_cast<milliseconds>(m_end - m_start).count();
logging::log(m_name + " finished in " + std::to_string(duration) + "ms");
}
我正在使用Visual Studio 2017.感谢任何帮助。
答案 0 :(得分:0)
好吧,它似乎是Visual Studio的当前错误。我所要做的就是将文件重新添加到我的项目中。感谢Jorge Y!