"" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2593: 'operator =' があいまいです。C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE\cstringt.h(1362): note: 'ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>> &ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>>::operator =(const VARIANT &)' の可能性がありますC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE\cstringt.h(1354): note: または 'ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>> &ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>>::operator =(wchar_t)'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE\cstringt.h(1345): note: または 'ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>> &ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>>::operator =(char)'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE\cstringt.h(1339): note: または 'ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>> &ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>>::operator =(const unsigned char *)'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE\cstringt.h(1321): note: または 'ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>> &ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>>::operator =(const wchar_t *)'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE\cstringt.h(1313): note: または 'ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>> &ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>>::operator =(const char *)'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE\cstringt.h(1298): note: または 'ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>> &ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>>::operator =(const ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>> &)'

ソース(バグ有り):

#include <atlstr.h>

int main() 
{
CString str = CString(_T("これはテスト文字列です。"))=
printf(_T("%s"), (LPCTSTR) str); }


原因:


対処:


ソース(修正済み):

#include <atlstr.h>

int main() 
{
CString str = CString(_T("これはテスト文字列です。"));
printf(_T("%s"), (LPCTSTR) str); }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]