我试图让这个if语句工作,但每次我尝试构建它时,都会收到此错误:
no matching constructor for initialization of std::string'(aka'basic_string<char>')
我在Mac上使用Xcode,如果这有帮助,如果你能解释为什么我需要这样做,这样我可以在下次避免这个问题
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << " Menu" << endl << endl;
cout << " press 1 to play the word game." << endl << endl;
cout << " press 2 too see the answer to 2+5." << endl << endl;
string UserInput;
cin >> UserInput;
std::string y('1');
if (UserInput == y) {
}
cout << "Enter A Word";
}
答案 0 :(得分:3)
std::string
有默认构造函数和构造函数重载,需要const char*
,但没有构造函数重载需要char
所以要么使它y("1")
,要么执行std::string y(1, '1')
答案 1 :(得分:1)
我想你想要
std::string y("1");
单引号表示字符而不是字符串,您不能从字符构造std :: string。