"C2451: 条件式の型 '<条件>' が間違っています。 " に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2451: 条件式の型 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' が間違っています。 この変換を実行可能なユーザー定義変換演算子がないか、または演算子を呼び出せません。

ソース(バグ有り):

using namespace std; 
#include <iostream>
#include <string>
int main()
{
string testString="a";
if(testString="a")
std::cout << "testString = a" << std::endl; }


原因:
この例ではイコールの比較演算子として == を使用すべきところを = で指定しています。

対処:
比較演算子には == を使用します。


ソース(修正済み):

using namespace std; 
#include <iostream>
#include <string>
int main()
{
string testString="a";
if(testString=="a")
std::cout << "testString = a" << std::endl; }

スポンサード リンク



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