Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将getline与自己的类C++;_C++ - Fatal编程技术网

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;
}