0

次のコードに問題があります。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;
};
4

0 に答える 0