当我尝试将用户输入作为字符串时,我收到一个奇怪的错误.
我有正确的包括;
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
Run Code Online (Sandbox Code Playgroud)
这是代码,执行时我得到错误;
write("Enter your name");
string name = readString();
write(name);
Run Code Online (Sandbox Code Playgroud)
上面的代码调用了这两个函数;
void game::write(std::string message)
{
cout << message << "\n";
}
string game::readString()
{
string userInput = NULL;
std::cin >> userInput;
return userInput;
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
我尝试重新构建解决方案 - 我应该使用char数组而不是字符串作为我的应用程序中文本的数据容器吗?
您无法从NULL
指针初始化字符串.尝试:
string userInput = "";
Run Code Online (Sandbox Code Playgroud)
或者干脆
string userInput;
Run Code Online (Sandbox Code Playgroud)
看到这里并检查ctor no.5,基于C++标准:
21.4.2 basic_string构造函数和赋值运算符[string.cons]
basic_string(const charT* s, const Allocator& a = Allocator());
8 要求: s不应为空指针.
归档时间: |
|
查看次数: |
197 次 |
最近记录: |