Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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++ &引用&燃气轮机&燃气轮机;未找到接受类型为';的左侧运算符的运算符;标准:ifstream';(或没有可接受的转换)“;_C++ - Fatal编程技术网

C++ &引用&燃气轮机&燃气轮机;未找到接受类型为';的左侧运算符的运算符;标准:ifstream';(或没有可接受的转换)“;

C++ &引用&燃气轮机&燃气轮机;未找到接受类型为';的左侧运算符的运算符;标准:ifstream';(或没有可接受的转换)“;,c++,C++,我试图创建一个动态数组,然后使用输入文件中的文本填充该数组,但我一直遇到这个错误。我找了几个小时的答案,但他们似乎都陷入了困境。我也不认为我错过了任何图书馆 int main() { // Parameter - Instance 1 Grocery g1("NA", 0, "NA"); g1.setName("Milk"); g1.setQuant("1"); g1.setUnit("Bottle"); Grocery g2(g1); // C

我试图创建一个动态数组,然后使用输入文件中的文本填充该数组,但我一直遇到这个错误。我找了几个小时的答案,但他们似乎都陷入了困境。我也不认为我错过了任何图书馆

int main()
{
    // Parameter - Instance 1
    Grocery g1("NA", 0, "NA");
    g1.setName("Milk");
    g1.setQuant("1");
    g1.setUnit("Bottle");

    Grocery g2(g1); // Calls copy constructor

    // Default constructor - Instance 3
    //Grocery g3(); 

    // Operator =
    Grocery g4;
    cout << "Operator = Running" << endl;
    g4 = g2;
    cout << g4.getName() << endl;
    cout << g4.getQuant() << endl;
    cout << g4.getUnit() << endl << endl;


    // Operator <<
    cout << "Operator<< Running" << endl;
    Grocery g5("Salt", "1", "Teaspoon");
    cout << g5 << endl;
    //cout << g5.getName();
    //cout << g5.getQuant();
    //cout << g5.getUnit();


    // Dynamic Array of Grocery
    Grocery* groceryArray;
    groceryArray = new Grocery[3];
    ifstream inputFile;
    inputFile.open("fileName.txt");


for (int i = 0; i < 3; i++)
    {
        inputFile >> groceryArray[i].setName;
        cout >> groceryArray[i].setName;
    }

    inputFile.close();
    delete[]groceryArray;
    return 0;
}

intmain()
{
//参数-实例1
食品杂货g1(“NA”,0,“NA”);
g1.设置名称(“牛奶”);
g1.设定量(“1”);
g1.设定单位(“瓶”);
g2(g1);//调用复制构造函数
//默认构造函数-实例3
//杂货店g3();
//接线员=
食品杂货g4;

C++中的CUT< P>为了从用户直接输入到对象,必须应用>操作符参见下面的操作例>从字符串

得到单项语句。
istream& operator>>(istream& input, Monomial& mon){
    char str[SIZE];
    cin.getline(str, SIZE);
    mon.updateMonomialString(str, mon.coefficientNum, mon.degreeNum);

    return input;
}
阅读有关操作员>>实施的更多信息

另一件事
getter
应该返回字符串/信息等。
setter
应该设置值/对象等。

没有给出
getXxxx
系列的声明,但我猜
getXxxx
系列是函数,而右侧操作数应该是数据变量。请发布一个。
getName
getQuant
getUnit
看起来像setter成员函数,你忘了给他们打电话了吗,或者他们真的是
杂货店的变量名吗?
?需要查看
杂货店的定义。完整的错误消息也会有帮助。@Kaldrr getName似乎是一个getter而不是setter。我认为OP是混乱的。这是为了让setter而不是getter抱歉。我还添加了杂货店的定义to帖子,并将在不知道
mon.updateMonicalstring
规范的情况下插入主函数的其余部分。通常用于读入
std::string
应该更好,因为没有明确的行大小限制。mon.updateMonicalstring是一个从用户输入中检索单项式的函数(char*),这是我学位上的一项作业,限制是不能只使用字符串字符。在程序中,我实际上在上一个函数中使用了运算符>>(我已添加到原始帖子中)。有人告诉我要同时使用运算符>>和运算符=,但不要使用缺少的运算符>>(句柄输入)之类的运算符seem,我知道您有运算符
istream& operator>>(istream& input, Monomial& mon){
    char str[SIZE];
    cin.getline(str, SIZE);
    mon.updateMonomialString(str, mon.coefficientNum, mon.degreeNum);

    return input;
}