簡體   English   中英

我正在為我祖母的生日編寫 C++ 程序,但是我不斷收到錯誤代碼:錯誤 C2451

[英]I am working on a C++ program for my grandmother's birthday, however I keep getting error code: error C2451

我只上過一門 C++ 課程,並計划用不同的東西填充我祖母孩子的名字,我目前所擁有的只是填充物。 但是,當我嘗試通過將字符串類型更改為整數來調試自己時,就像它告訴我的那樣,然后我只會得到新的錯誤代碼。 這是我目前所擁有的,該程序非常簡單:

#include <iostream>
#include <string>
#include <cstring>

using namespace std;
string name;

string main() {
    bool done = false;
    while (!done) {

    cout << "Enter one of your children's names, or press 'q' to quit" << endl;
    cin >> name;

    if (name = "q") {
        done = true;
        break;
    }
    else if (name = "Jason") {
        cout << "Jason is your eldest son" << endl;
    }
    else if (name = "Aaron") {
        cout << "Aaron was your second child" << endl;
    }
    else if (name = "Mandy") {
        cout << "Mandy is your only girl" << endl;
    }
    else if (name = "Adam") {
        cout << "Adam came after Mandy" << endl;
    }
    else if (name = "Ben") {
        cout << "Ben is your youngest" << endl;
    }
    else {
        cout << "That name does not exist for your children: try Jason, Aaron, Mandy, Adam, or Ben instead" << endl;
    }
}

}

if and else if語句中,您需要更改==而不是= (賦值)以檢查兩個操作數的值是否相等。 另外,在您的String main()我建議僅將其更改為: int main()

只是重申其他人提到的內容

  • 調整 if/else 比較運算符 ---> if (name == "q")
  • 使用int main()

    int main()
    {
         bool done = false;
         string name;

         while (!done)
         {
              if (name == "q")
              {
                   done = true;
                   break;
              }
         // Remainder of code goes here

         } // Close while loop
    } // Close main()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM