Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

przekazywanie pliku do funkcji

Ostatnio zmodyfikowano 2016-03-07 21:04
Autor Wiadomość
mlOOdy
Temat założony przez niniejszego użytkownika
przekazywanie pliku do funkcji
» 2016-02-27 21:30:45
Dlaczego po zrobieniu mniej więcej czegoś takiego wyskakuje błąd ?

error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits>'


C/C++
...

void funkcja( int x, int y, ifstream wczytaj ) {
   
    ...
   
}

int main() {
    ...
   
    ifstream wczytaj( "plik.txt" );
    funkcja( x, y, wczytaj );
   
    ...
   
}
P-145369
Gibas11
» 2016-02-27 21:54:42
Trochę mało kodu, ale ifstream przekazałbym przez referencję.
EDIT: Ale pewnie nie o to chodzi, więc wrzuć lepiej jeszcze okolice występowania błędu – będzie można powiedzieć coś więcej.
P-145370
pekfos
» 2016-02-27 21:59:42
Obiekt strumienia jest niekopiowalny, jak wszystko pochodne po std::basic_ios<>.
P-145371
mlOOdy
Temat założony przez niniejszego użytkownika
» 2016-02-27 22:08:41
przez rekurencję działa, dzięki za radę. Cały kod jest mniej więcej taki.

C/C++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

void funkcja( int x, int y, ifstream wczytaj ) {
    int wynik;
    while( wczytaj >> wynik ) {
       
        if( wynik < najkrotszy )
             najkrotszy = wynik;
       
        if( wynik > najdluzszy )
             najkrotszy = wynik;
       
    }
   
}

int main() {
   
    int x, y;
   
    ifstream wczytaj( "plik.txt" );
    funkcja( x, y, wczytaj );
   
    wczytaj.close();
    system( "PAUSE" );
}

P-145372
mlOOdy
Temat założony przez niniejszego użytkownika
» 2016-02-27 22:09:43
ok, czyli bez rekurencji się nie obędzie. Dzięki za pomoc.
P-145373
Gibas11
» 2016-02-27 22:13:30
Referencji!

I kod który podałeś z niej nie korzysta.
P-145374
Rashmistrz
» 2016-02-27 23:49:09
void funkcja( int x, int y, ifstream & wczytaj ) {

» Kurs C++ » Poziom 3Przekazywanie argumentów funkcji przez referencję lekcja
P-145376
mlOOdy
Temat założony przez niniejszego użytkownika
» 2016-03-07 21:04:42
jasne pomyliłem się, przez referencje :)
P-145691
« 1 »
  Strona 1 z 1