我正在将代码从Linux移植到Window。C++ 11 chrono in visual studio 2013
而且我没有想到在使用std :: chrono时会出现一个错误。
因为std :: chrono是C++标准库,我预计它在未经修改的情况下工作。
下面是显示错误的代码。
错误发生在我使用运算符的持续时间实例和duration_cast函数with no instance of function template
的部分。
,代码工作正常
std::string ChronoTimer::currentTime(){
using namespace std::chrono;
auto now = system_clock::now();
time_point<system_clock> epoch;
microseconds ms = duration_cast<milliseconds>(now - epoch);
hours hour = duration_cast<hours>((ms % hours(24)) + hours(9));
minutes min = duration_cast<minutes>(ms % hours(1));
seconds sec = duration_cast<seconds>(ms % minutes(1));
milliseconds msec = duration_cast<milliseconds>(ms % seconds(1));
std::stringstream strStream;
strStream << std::setfill('0') << std::setw(2) << hour.count() << ":";
strStream << std::setfill('0') << std::setw(2) << min.count() << ":";
strStream << std::setfill('0') << std::setw(2) << sec.count() << ".";
strStream << std::setfill('0') << std::setw(3)<< msec.count();
return strStream.str();
}
1 IntelliSense: no instance of function template "std::chrono::duration_cast" matches the argument list
argument types are: (<error-type>)
2 IntelliSense: no operator "+" matches these operands
operand types are: std::chrono::system_clock::rep + std::chrono::hours
3 IntelliSense: no instance of function template "std::chrono::duration_cast" matches the argument list
argument types are: (std::chrono::system_clock::rep)
如何向我们展示**实际的错误信息**? (并且在你发布的代码中清楚地标明它出现的位置) –
你得到的错误是什么? – Zacrath
对不起,我添加内容 – SangminKim