Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> класс для работы с fstream, проблема с указателем 
V
    Опции темы
sa1o
Дата 20.5.2010, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Здравствуйте.

Хотел создать класс обертку для работы с fstream.
в самом начале столкнулся с ошибкой, не пойму на что ругается компилятор (visuacl c++ 2008 express), помогите пожалуйста разобраться:

Код

#include "stdafx.h"

class Files {

public:

    //объект fstream
    fstream &f_ptr;

    //конструктор
    Files(char *fname, std::ios::openmode mode)
    {
        //создаем объект fstream
        fstream f;
        f_ptr = f;
        
        //проверка на валидность
        if(!f_ptr) {
            cout << "fstream error, check headers";
            exit(1);
        }
    }
    
    //деструктор
    ~Files()
    {
        delete f_ptr;
    }
};


files.cpp(11) : error C2758: Files::f_ptr: требуется инициализация в списке инициализации базовых классов и членов

files.cpp(8): см. объявление 'Files::f_ptr'
PM MAIL   Вверх
mrbrooks
Дата 21.5.2010, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



не айс. сделайте хотя бы так:
Код

class Files {
public:
    fstream f;
    Files(char *fname, std::ios::openmode mode)
    {
        f.open(fname, mode);
        if(!f) 
        {
            cout << "fstream error, check headers";
        }
    }
    
    ~Files()
    {
        f.close();
    }
};

PM MAIL   Вверх
sa1o
Дата 23.5.2010, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



так действительно лучше) спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0828 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.