Im trying to pass an arrays of objects to a function so that it can be filled with the contents of a text file.
Update: Removed _menu[] from the function parameters and also from main. The code compiles just fine, but now it crashes right after openMenu asks for the cin to the filename.
code:
class Dish {
    public:
        int _itemNo;
        string _category;
        string _description;
        double _price;
        Dish();
        Dish(int itemNo, string category, string description,
            double price); 
        }
class DishDb{
    private:
        int _nElems;
    public:
        Dish _menu[20];
        void openMenu(ifstream &fromFile);
};
void DishDb::openMenu(ifstream &fromFile){
    string fileName;
    int itemNo;
    double price;
    string description;
    string category;
    int numOfDishes = 0;
    cout << "Enter file name: ";
    cin >> fileName;
    ifstream inFile(fileName);
    do{
        inFile >> itemNo;
        _menu[numOfDishes]._itemNo = itemNo;
        getline(inFile, category, ':');
        _menu[numOfDishes]._category = category;
        getline(inFile, description, ':');
        _menu[numOfDishes]._description = description;
        inFile >> price;
        _menu[numOfDishes]._price = price;
        numOfDishes++;
    }while(!inFile.eof());
    inFile.close();
    cout << endl << "Menu was loaded.";
}
int main(){
    string filename;
    cout << "Enter today's transaction file name: ";
    cin >> filename;
    DishDb DDb; 
    ifstream inFile;
    Dish _menu[20];
    DDb.openMenu(inFile);
    DDb.display();
    return 0;
}
No errors for some reason
 
     
    