C++ Assert::AreEqual为system::clock定义专门化

C++ Assert::AreEqual为system::clock定义专门化,c++,unit-testing,visual-studio-2013,microsoft-cpp-unit-test,C++,Unit Testing,Visual Studio 2013,Microsoft Cpp Unit Test,我的单元测试中有以下代码: Assert::AreEqual(std::chrono::system_clock::now(), ntp.testntp); 我得到了这个错误: Error 1 error C2338: Test writer must define specialization of ToString<const >Q& q> for your class class std::basic_string<wchar_t,struct &

我的单元测试中有以下代码:

Assert::AreEqual(std::chrono::system_clock::now(), ntp.testntp);
我得到了这个错误:

Error   1   error C2338: Test writer must define specialization of ToString<const >Q& q> for your class class std::basic_string<wchar_t,struct >std::char_traits<wchar_t>,class std::allocator<wchar_t> > __cdecl >Microsoft::VisualStudio::CppUnitTestFramework::ToString<class >std::chrono::time_point<struct std::chrono::system_clock,class >std::chrono::duration<__int64,struct std::ratio<1,10000000> > >>(const class >std::chrono::time_point<struct std::chrono::system_clock,class >std::chrono::duration<__int64,struct std::ratio<1,10000000> > > &). 
Error 1 Error C2338:测试编写器必须为类std::basic\u stringstd::char\u traits,class std::allocator>\uu cdecl>Microsoft::VisualStudio::CppUnitTestFramework::ToStringstd::chrono::time\u pointstd::chrono::duration>>(const class>std::chrono::time\u pointstd::chrono::duration>>)。
我的理解是,你必须按照以下思路做一些事情:

template<> static std::wstring ToString<system_clock>(const system_clock& t) { RETURN_WIDE_STRING(t); }
template static std::wstring-ToString(const-system_-clock&t){RETURN_-WIDE_-STRING(t)}
编译器不喜欢
返回\u宽\u字符串(t)
部分。
如何正确地执行此操作?

什么是
返回\u WIDE\u STRING
?实际上我并不完全确定,我只是在这个链接上找到了它