错误代码 C2451 无法运行基本程序

Error code C2451 cannot run basic program

本文关键字:程序 运行 C2451 错误代码      更新时间:2023-10-16

我正在尝试创建一个程序,该程序提出一个问题,并根据响应给出两个答案中的1个(响应=是或否)。这是代码:-

 #include <iostream>
 #include <string>
 using namespace std;
 int main()
{
    string answer, yes;
    cout << "Is Lucy a top lass ? enter yes or no" << endl;
    cin >> answer;
    if (answer == yes)
    {
        cout << "Correctomundo" << endl;
    }
    else
    {
        cout << " Blasphemy ! " << endl;
    }
    return 0;
}

我收到错误 C2451。任何人都可以解释一下我必须如何编辑代码才能使其按照我想要的方式工作吗?

我正在使用头文件iostream和字符串。 由于某种原因,这不会显示,因为它们包含在三角括号内。

谢谢。

if (answer = yes)

a) 这是一个作业 ( = ) 不是相等检查 ( ==

b) yes没有价值 - 您可能的意思是像 string answer, yes = "yes"; 或只是直接使用 "yes" 而不是具有变量yes

在您的行if (answer = yes)中,您收到错误。我想你的意思是if (answer == "yes").(您的yes字符串变量未初始化,所以我猜您希望它是字符串文字)

将条件表达式更改为

if(answer == yes)

您错过了一个 = 符号。执行此更改将运行程序而不会出错。但是变量 yes 在其中没有价值。所以总是第二个 if 条件会失败。

您将在此处获得有关 C2451 错误的更多信息

此错误发生在此行

if (answer = yes)

您使用的是赋值运算符而不是比较运算符所以当它编译时,它变成了

if(answer) 

并且您收到该错误,请将代码更改为

if (answer == yes)

这样它就变成了比较操作。 并且不要忘记初始化字符串变量"yes"我希望这将解决您的问题。