如何使用数组和参考参数调用void函数

How to call void function with array and reference arguments

本文关键字:调用 void 函数 参数 参考 何使用 数组      更新时间:2023-10-16

晚上好,我试图将我的空白函数称为" getproblems",但是在没有参数的情况下输出" getproblems"时获得无关紧要的值。同样,当通过参数(例如" getproblems(list,i)"之类的参数"时,我会收到错误" no oterator'<<'匹配这些操作数"。目标是输出我的文本文件包含的问题的数量,而无需使用返回值或使用指针的函数。

#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
using namespace std;
int const MAX_PROBLEMS = 50;
void getProblems(string  problem[], int& count);
int main()
{
string list[MAX_PROBLEMS] = {};
int i = 0;
    cout << "There are " << getProblems << " problems. " << endl;
//  I have also tried calling the void function with parameters
//  cout << "There are " << getProblems(list, i) << "problems. " << endl;
    return 0;
}
void getProblems(string  problem[], int& count)
{
    ifstream mathProblems;
        mathProblems.open("P4Problems.txt");
        if (!mathProblems)
            {
                cout <<"No file was found."<< endl;
            }
        count = 0;
        string data;
        getline(mathProblems, data);
            while (!mathProblems.eof())
                {
                    problem[count] = data;
                    count ++;
                    mathProblems >> data;
                }
        mathProblems.close();
}

您的函数getProblems()是类型void,那么您想使用cout显示什么?

如果您需要显示计数,这是一个参数,

int main()
{
    int count;
    getProblems(listt,count); //assuming listt, has been declared before
    cout << "There are " << count << " problems. " << endl;    
    return 0;
}