枚举ifstream和getline()

时间:2013-04-27 23:49:21

标签: c++ file enums ifstream getline

我遇到了以下代码的问题。它应该从txt文件中获取对象参数。当然为了正确获取枚举值,我已经制作了这个简单的getline()函数。我一直在收到我试图修复的错误,但我仍然不知道出了什么问题。 VC说'没有重载函数getline的实例与参数列表匹配'。

我的代码:

CKomputer.cpp

#include <iostream>
#include <cstdio>
#include <string>
#include <fstream>


#include "CKomputer.h"
#include "Procesor.h"
#include "KartaDzwiekowa.h"

#define TESTPR1

using namespace std;

void Komputer::pobierz(string nazwa)
{
    #ifdef TESTPR1
    cout<<"Uruchomiono metode pobrania stanu obiektu Komputer z pliku"<<endl;
    #endif
    ifstream plik_wejsciowy;
    plik_wejsciowy.open(nazwa+".txt");

    int zastos;
    getline(plik_wejsciowy,linia);
    zastos=atoi(linia.c_str());
    zastosowanie=Komputer::zastosowanie(zastos);

    plik_wejsciowy >> nazwa_komputera >> ram >> ile_kart_dzwiekowych >> zastos;

    procesor.wczytaj(plik_wejsciowy);
    if (ile_kart_dzwiekowych>0)
    {
        for (int i=0;i<ile_kart_dzwiekowych;i++)
            karta_dzwiekowa[i].wczytaj(plik_wejsciowy);
    }

    plik_wejsciowy.close();
}

CKomputer.h

#pragma once

#include <stdlib.h>
#include <iostream>
#include <string>
#include <fstream>

#include "UrzadzenieElektroniczne.h"
#include "Procesor.h"
#include "KartaDzwiekowa.h"

using namespace std;

enum zastosowanie{biznes, gaming, grafika, programowanie};

class Komputer: public UrzadzenieElektroniczne
{
private:
    Procesor procesor;
    KartaDzwiekowa *karta_dzwiekowa;

protected:
    string nazwa_komputera;
    int ram;
    int ile_kart_dzwiekowych;

public:
    Komputer();
    Komputer(string nazwa_komputera2, int ram2, int ile_kart_dzwiekowych2);
    Komputer(const Komputer& k);
    Komputer(int ilosc_kart);
    ~Komputer();
    static int ile_Komputerow;
    static int licz_ile_Komputerow();
    void komp_info();
    void wlaczenieurz();
    void zapisz(string nazwa);
    void pobierz(string nazwa);

    zastosowanie zastos;
};

0 个答案:

没有答案