为什么我不能用“\x”初始化字符串
string s = "\x"
如果我以后可以写的话会很有用:
int grade = 0;
while (cin >> grade)
if (grade < 60)
cout << "Your grade letter is F!";
else {
x = 50 - grade/10;
s = s + static_cast<string>(x);
cout << "Your grade letter is " << s << endl;
}
我更喜欢答案,它使用转义序列计算来设置成绩字母。
最佳答案
因为语法不允许。字符串文字中的 \x
序列是一个前缀,表示“这里是字符的十六进制代码”,但您试图省略代码部分。这意味着无法解析文字并确定将哪个字符放入字符串中。
请注意,这是编译时的事情,它必须能够通过仅查看文字本身来计算由字符串文字表示的字符序列。
关于c++ - 为什么我不能用 "\x"初始化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121236/