C++ 将getline与自己的类C++;
抱歉,我创建了一个自己的C++ 将getline与自己的类C++;,c++,C++,抱歉,我创建了一个自己的string类,该类带有重载运算符和函数at()。我创建它是为了将它包含在我的另一个类中。除了一个问题,我什么都没有问题 我的错误是: std::basic_istream<_Elem,_Traits>&std::getline(std::basic_istream<_Elem,_Traits>&,std::basic_string<_Elem,_Traits,_Alloc> &)': could not ded
string
类,该类带有重载运算符和函数at()
。我创建它是为了将它包含在我的另一个类中。除了一个问题,我什么都没有问题
我的错误是:
std::basic_istream<_Elem,_Traits>&std::getline(std::basic_istream<_Elem,_Traits>&,std::basic_string<_Elem,_Traits,_Alloc> &)': could not deduce template argument for 'std::basic_string<_Elem,_Traits,_Alloc> &' from 'String'
欢迎您编写自己的
getline
函数来使用字符串类:
std::istream&
std::getline(std::istream& input_stream, My_String& s, char delimiter = '\n')
{
//...
return input_stream;
}
使用
std::string
而不是开发自己的字符串类有很多好处。这与天空是蓝色的原因是一样的:因为std::getline()
的第二个参数是std::string
(好吧,std::basic_string
,要学究)。这就是std::getline()
的含义。那么错误消息中提到的“String”是什么呢。你自己的东西?@πάνταῥεῖ 是的,我对我的工作有了一些认识string@SamVarshavchik除了getline()
之外,我找不到其他变体,因为std::string
不是string
,string
不是std::string
。C++ 101。
std::istream&
std::getline(std::istream& input_stream, My_String& s, char delimiter = '\n')
{
//...
return input_stream;
}