1


0

このプロジェクトをビルドしようとすると、次のようなエラーが表示されます。

エラーC2182: 'read_data': 'void'型の使い方が不正ですC2078:初期化子が多すぎますエラーc2440: '初期化中': 'std :: ofstream'からintに変換できません

上記のすべてが、この行である72行目の私の関数呼び出しを指しているように見えます。void read_data(finput、foutput);

私はMSDNサイトでこれらのエラーコードを調べましたが、説明を使って何が間違っているのかを推測することはできませんでした。

任意のアイデア/ヒントは大歓迎です。

#include #include #include #include using namespace std;

void read_data(ifstream
//PRE: The address of the ifstream & ofstream objects is passed to the function
//POST: The data values are read in until the end of the file is reached

void print_data(ofstream)
//PRE: The address of the ofstream object and the values of fname, lname and largest and smallest integer
//     in each row is passed to the function
//POST: The values are outpur to the file with formatting

int max(整数1、整数2、整数3、整数4);
//PRE: Four integer values are passed to the function
//POST: The largest of the four integer values is returned

int min(整数1、整数2、整数3、整数4);
//PRE: Four integer values are passed to the function
//POST: The smallest of the four integer values is returned

int main(){//ファイルストリームオブジェクトをifstream finputと宣言します。ストリーム出力

//入力を開こうとしました

foutput.open( "output.txt"); if(foutput.fail()){cout << "出力ファイルを開けませんでした。" << endl; exit(2)を返します。 }

void read_data(finput、foutput);

0を返します。 }

//Function definitions
void read_data(ifstream

while(finput >> fname){finput >> lname >> num 1 >> num 2 >> num 3 >> num 4;最大= max(num1、num2、num3、num4);最小= min(num1、num2、num3、num4);

print_data(foutput、fname、lname、最大、最小);

}

}

void print_data(ofstream)

int max(int num1、int num2、int num3、int num4){int lnum、lnum1、lnum2;

if(num1> num2){lnum1 = num1;そうでなければ、lnum1 = num2;

if(num3> num4){lnum2 = num3;そうでなければ、lnum2 = num4;

if(lnum1> lnum2){lnum = lnum1;そうでなければ、lnum = lnum2;

lnumを返します。 }

int min(int num1、int num2、int num3、int num4){int snum、snum1、snum2;

if(num1 <num2){snum1 = num1;そうでなければsnum1 = num2;

if(num3> num4){snum2 = num3;そうでなければsnum2 = num4;

if(snum1> snum2){snum = snum1;そうでなければsnum = snum2;

snumを返します。 }

2 Answer


6


はい、問題は線です

void read_data(finput、foutput);

main関数の中 関数を呼び出すときに戻り型を指定しないでください。 宣言するときだけ。 言い換えれば、その行はただ読むべきです

read_data(finput、foutput);


1


呼び出しの前には関数のシグネチャであるvoidがあります - 実際には呼び出していないのですから、コンパイラは文句を言っています。