[英]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;
}
這是我得到的錯誤:
我嘗試重新構建解決方案-我應該使用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.