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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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时出现错误:调用“getline(std::istream&,const string&)”时没有匹配的函数_C++_Getline - Fatal编程技术网

C++ 使用getline时出现错误:调用“getline(std::istream&,const string&)”时没有匹配的函数

C++ 使用getline时出现错误:调用“getline(std::istream&,const string&)”时没有匹配的函数,c++,getline,C++,Getline,我正在编写这段代码,它与cin>>partname一起工作;而不是使用getlinecin、partname;在showpart函数中,但仅适用于不带空格的名称。但是使用getlinecin,partname;它会产生一个错误 错误:对“getlinestd::istream&,const string&”的调用没有匹配的函数 我已经查看了类似的错误,但它们似乎没有帮助。感谢您查看此错误。包含而不是 此外: void showpart const不能是const,因为您更新了partname,这

我正在编写这段代码,它与cin>>partname一起工作;而不是使用getlinecin、partname;在showpart函数中,但仅适用于不带空格的名称。但是使用getlinecin,partname;它会产生一个错误 错误:对“getlinestd::istream&,const string&”的调用没有匹配的函数

我已经查看了类似的错误,但它们似乎没有帮助。感谢您查看此错误。

包含而不是

此外: void showpart const不能是const,因为您更新了partname,这对于名为show something的函数来说是一个奇怪的活动

我怀疑您希望显示部件名,而不是更新它:


也许只是想澄清一下:showpart应该是const-错误在方法的实现中。@MikaelH是的,我同意。尽管getpart函数当前使用的是cin>>partname,但我怀疑存在复制/粘贴错误。感谢您的澄清。我本想从getpart中编辑出来,但在showpart中编辑了。现在它按预期工作。很抱歉浪费了你的时间。@bredgenie不客气,你没有浪费我的时间。你的问题很清楚,我们都可以重现这个问题,所以你让人们很容易地提供帮助,而不浪费时间。
#include<iostream>
#include<cstring>

using namespace std;

class Inventory
{
  private:
    int partno;
    string partname;
    float cost;
    void getpart()
    {
      cout<<"Enter the part number"<<endl;
      cin>>partno;
      cout<<"Enter the part name"<<endl;
      cin>>partname;
      cout<<"Enter the cost"<<endl;
      cin>>cost;
    }

  public:
    Inventory()
    {
      partno = 0;
      partname = " ";
      cost = 0.0;
    }

    Inventory(int pn,string pname,float c)
    {
      partno = pn;
      partname = pname;
      cost = c;
    }

    void setpart()
    {
      getpart();
    }

    void showpart() const
    {
      cout<<"Inventory details"<<endl;
      cout<<"Part Number: "<<partno<<endl;
      cout<<"Part Name: ";
      getline(cin, partname);
      cout<<"\nCost: "<<cost<<endl;
    }
};

int main()
{
  Inventory I1(1,"Resistor", 25.0), I2;
  I2.setpart();
  I1.showpart();
  I2.showpart();
}
void showpart() const
{
  cout<<"Inventory details"<<endl;
  cout<<"Part Number: "<<partno<<endl;
  cout<<"Part Name: "<<partname<<endl;
  cout<<"Cost: "<<cost<<endl;
}