簡體   English   中英

C ++用戶輸入字符串錯誤

[英]C++ User input string error

當我嘗試以字符串形式獲取用戶輸入時,出現一個奇怪的錯誤。

我有正確的包含;

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

這是代碼,執行時出現錯誤;

write("Enter your name");
string name = readString();
write(name);

上面的代碼調用了這兩個函數;

void game::write(std::string message)
{
    cout << message << "\n";
}

string game::readString()
{
    string userInput = NULL;
    std::cin >> userInput;
    return userInput;
}

這是我得到的錯誤: C ++錯誤

我嘗試重新構建解決方案-我應該使用char數組而不是字符串作為應用程序中文本的數據容器嗎?

您不能使用NULL指針初始化字符串。 嘗試:

string userInput = "";

或簡單地

string userInput;

看到這里並檢查ctor號。 5,基於C ++標准:

21.4.2 basic_string構造函數和賦值運算符[string.cons]

basic_string(const charT* s, const Allocator& a = Allocator());

8 要求: s不得為空指針。

暫無
暫無

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

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