0

私はプログラミングに非常に慣れていないので、助けが必要です、ありがとう!

namelist.txt という名前のテキスト ファイルがあります。vecStudent という名前のベクトルに名前のリスト (名、姓、例: チャック・ノリスの形式) を追加できる関数に inFile を渡す必要があります。どのように inFile を関数に渡しますか?可能であれば、どのように名前をベクトルに追加しますか?

#include <iostream>
#include <fstream>
#include <string>
#include <vector>

using namespace std;

ifstream readtoVec(); //function prototypes
int displayAll();
int add();
int remove();
int savequit();

int main()
{
char cInput;
string strFileName;
vector<string> vecStudent;
ifstream inFile;
ofstream outFile;

{
    cout << "Please Enter the data file name (with location): ";
    cin >> strFileName;

    inFile.open(strFileName.c_str());

    if (inFile.fail())

    {
        cout << "Input file error!" << endl;

        return -1;
    }

    // call a function to read the contents of the input file into vecStudent
    else
    {
        readtoVec (ifstream& inFile);

ここで「タイプ名は許可されていません」というエラーが表示されます

}



while (true)
{
    cout << "--------------------------------------" << endl;
    cout << " Student Record - Main Menu " << endl;
    cout << "--------------------------------------" << endl;
    cout << " Enter 1 to display ALL students " << endl;
    cout << " Enter 2 to add a student name " << endl;
    cout << " Enter 3 to delete a student name " << endl;
    cout << " Enter 4 to SAVE and quit the program " << endl;
    cout << "--------------------------------------" << endl;
    cout << " Enter menu option: " ;
    cin >> cInput;
    switch (cInput)
    {
        case '1':
            //call function
            break;
        case '2':
            //call function
            break;
        case '3':
            //call function
            break;
        case '4':
            //call function
            return 0;
        default:
            cout << "invalid input" << endl;
            break;
    }

return 0;
}
4

1 に答える 1

1

ifstream readtoVec(); //関数のプロトタイプ

これはをreadtoVec()返し、ifstream引数を取りませんが、ここにあると言います:

readtoVec (ifstream& inFile);

を呼び出すときに、(一種の) 引数を渡そうとしていますreadtoVec。少なくともどのように呼び出そうとしているかに基づいて、宣言は次のようになりますvoid readtoVec(ifstream &);

それを呼び出すときは、パラメーターのタイプを指定しないため、呼び出しは次のようになります。readtoVec(inFile);

于 2012-04-09T07:44:49.627 に答える