のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

note: コンパイル対象の クラス テンプレート インスタンス化 リファレンスを確認してください

MSTESTのassertで16ビットを使おうとすると、以下のようなエラーが出る。

NG
Assert::AreEqual(0x0000, aaa, _T("aaa"));
Assert::AreEqual(0x0000, aaa, _T("aaa"));

OK
Assert::AreEqual(0x0000, aaa, _T("aaa"));
Assert::AreEqual(0x0000, aaa, _T("aaa"));

重大度レベル	コード	説明	プロジェクト	ファイル	行	抑制状態
エラー	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<unsigned short>(const unsigned short &).	Tests_LibXt	c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\auxiliary\vs\unittest\include\cppunittestassert.h	66	
 note: コンパイル対象の クラス テンプレート インスタンス化 'std::num_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>' のリファレンスを確認してください