2016-12-03 3 views
0

おはようございます、私は私の空関数 "getProblems"をmainで呼び出そうとしていますが、パラメータを持たない "getProblems"を出力すると無関係な値を取得しています。同様に、「getProblems(list、i)」などの引数を渡すと、「no operator '< <'がこれらのオペランドに一致します」というエラーが表示されます。目標は、値を返す関数やポインタを使用せずにテキストファイルに含まれる問題の数を出力することです。配列と参照引数でvoid関数を呼び出す方法

#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(); 
} 
+0

はsongyuanyaoこんにちは、私は文字列の配列「リスト」を渡して試してみましたと「私」をint型に、私に説明したエラーメッセージが表示されます役職。 –

答えて

0

あなたの機能getProblems()はタイプvoidであるので、何をcoutで表示しようとしていますか?

あなたが引数であるカウント数を表示する必要がある場合は、

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