如何使用前一个字符串中的字符创建一个新的c++样式字符串



这是我的一段代码。我是新来的,但很热衷于学习c++。我很好奇为什么当我试图将一个新变量first_letter声明为字符串,以保持我以前的字符串变量greetings的第一个字母的值时,会出现这个错误代码。No viable conversion from 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::value_type' (aka 'char') to 'std::string' (aka 'basic_string<char, char_traits<char>, allocator<char> >')

int main()
{
std::string greetings = "hello";
std::string first_letter = greetings[0];
std::cout<<first_letter;
return 0;
}

我了解一些关于char的知识,以及它是如何将字符作为整数并可互换的。请随意解释,只要你需要,我也会在谷歌上查找你的详细信息来学习。非常感谢。

没有从字符到字符串的隐式转换。你可以使用构造函数

std::string first_letter(1, greetings[0]);

std::string first_letter(greetings, 0, 1);

std::string没有采用char的隐式构造函数。但是,您可以从char构造字符串,如下所示:

std::string first_letter { greetings[0] };

这是一个演示。

最新更新