のねのBlog

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

C3690 文字列リテラルが予期されるところで、代わりにユーザー定義の文字列リテラルが検出されました

C++でアサートを以下のように書くとエラーになる。

 Assert::AreEqual<uint16_t>(code[0], 0xA001, L"codes");

intにすると、エラーが消える。

 Assert::AreEqual<int>(code[0], 0xA001, L"codes");
エラー	C3690	
文字列リテラルが予期されるところで、
代わりにユーザー定義の文字列リテラルが検出されました	

c:\program files (x86)\microsoft visual studio14.0
\vc\unittest\include\cppunittestassert.h	66	
エラー	C2338	
Test writer must define specialization of ToString<const Q& q> for your class .	

c:\program files (x86)\microsoft visual studio 14.0
\vc\unittest\include\cppunittestassert.h	66