Ошибка при определении конструктора
, Не могу понять, в чем дело
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.82] |
|
|
Ошибка при определении конструктора
, Не могу понять, в чем дело
|
Сообщ.
#1
,
|
|
|
|
Добрый день. Проблема в следующем: есть класс fclass, который содержит в себе файловый поток для ввода file_stor, переменные s_byte, s_kbyte, s_mbyte, хранящие в себе размер этого самого файла соответсвенно в байтах, килобайтах и мегабайтах, и функции получения этих размеров. При определении конструктора, который передает значения в конструктор для file_stor, компилятор пишет ошибки "New types may not be defined in a return type" и "Return type specification for constructor invalid". Не понимаю, откуда там могут взяться эти ошибки? Помогите разобраться.
![]() ![]() #include <iostream.h> #include <fstream.h> using namespace std; class fclass { protected: ifstream file_stor; int s_byte; double s_kbyte; double s_mbyte; public: fclass(char *); int state; int get_b(); double get_kb(); double get_mb(); } fclass::fclass(char *str): file_stor(str) //Здесь ошибка { char c; if(!file_stor) { state=0; s_byte=0; s_kbyte=s_mbyte=0; } else { state=1; //Подсчет длины файла в байтах s_byte=0; while(!file_stor.eof()) { file_stor.get(c); s_byte++; } //В килобайтах s_kbyte=(double)s_byte / 1024.0; //В мегабайтах s_mbyte=s_kbyte / 1024.0; } } Вот сейчас подумал, а может сделать класс fclass производным от класса ifstream, добавив в него поля с размерами файла? Пишу в Dev-C++ под XP |
|
Сообщ.
#2
,
|
|
|
|
точку с запятой после определения класса
|
|
Сообщ.
#3
,
|
|
|
|
Ч0рт, точно, спасибо
|