Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2007, 21:50   #1
lacost
Пользователь
 
Регистрация: 25.03.2007
Сообщений: 67
По умолчанию namespace std;

возникло следующая проблема с использованием namespace std;


H1.cpp
Код:

#include <iostream.h>
#include <fstream>
#include <stdio.h>
#include <string>
#include "H1.h"


void main()
{	
	using namespace std;
	int i;
	ifstream getqf("f.txt", ios::in);
	FileWorkClass *F =new FileWorkClass();
	i=F->GetRandomQ(getqf); 

}
H1.h
Код:
#pragma once
#include <fstream>
using namespace std;
class FileWorkClass
{
protected:
	int size,r,i,size1,go,x;
	char f;
	int mas[200];
	
char s;
public:
	FileWorkClass();
	int GetRandomQ(ifstream getqf);
};
FileWorkClass::FileWorkClass()
{
	cout<<"i am created!"<<endl;
	

}
int FileWorkClass::GetRandomQ(ifstream getqf)
{
	getqf>>s;
	cout<<s;
return 0;
}
это толкьо кусок огромной программы.....но сам факт всё работает если не использовать namespace std;
Конечно используя это приходиться обьявлять бибилиотеку не fstream.h а fstream.....вобщем не могу разобраться как передать классу файл для работы с ним в результате выполнения кода который выше получаю только прерывание...класс не может наити файл
lacost вне форума Ответить с цитированием
Старый 20.10.2007, 11:07   #2
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Какая версия среды программирования, какие ошибки? И namespace std принято писать сразу после заголовочных файлов а не в теле функции...
merax вне форума Ответить с цитированием
Старый 20.10.2007, 13:29   #3
lacost
Пользователь
 
Регистрация: 25.03.2007
Сообщений: 67
По умолчанию

Цитата:
Сообщение от merax Посмотреть сообщение
Какая версия среды программирования, какие ошибки? И namespace std принято писать сразу после заголовочных файлов а не в теле функции...

C++ 6.0

Ошибка: Инструкция по адресу ,,,,,, обратилась к памяти по адресу,,, память не может быть "read"

Насчёт namespace std приму к сведению спосибо, перенёс в нужное место, но проблему это не решило
lacost вне форума Ответить с цитированием
Старый 20.10.2007, 21:55   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Ошибка: Инструкция по адресу ,,,,,, обратилась к памяти по адресу,,, память не может быть "read"
Если на этапе компиляции, то это скорее среда виновата.
Carbon вне форума Ответить с цитированием
Старый 20.10.2007, 22:18   #5
lacost
Пользователь
 
Регистрация: 25.03.2007
Сообщений: 67
По умолчанию

Так нет компиляция идёт учпешно, но в процессе выполнения (после завершения чтения символа из файла ) он просто выбрасывает ошибку
lacost вне форума Ответить с цитированием
Старый 20.10.2007, 22:38   #6
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

А если убрать GetRandomQ и заменить на чтение из файла?
Carbon вне форума Ответить с цитированием
Старый 21.10.2007, 10:47   #7
lacost
Пользователь
 
Регистрация: 25.03.2007
Сообщений: 67
По умолчанию

Тогда всё будет ок...я уже пробовал, но мне нужно чтобы функция чтения была в хэдере...

Возможно какаято проблема с передачей адреса файла функции?
lacost вне форума Ответить с цитированием
Старый 21.10.2007, 16:02   #8
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

int GetRandomQ(ifstream getqf);
int FileWorkClass::GetRandomQ(ifstream getqf)

замени на

int GetRandomQ(ifstream& getqf);
int FileWorkClass::GetRandomQ(ifstream& getqf)

Последний раз редактировалось Carbon; 21.10.2007 в 16:04.
Carbon вне форума Ответить с цитированием
Старый 22.10.2007, 13:17   #9
lacost
Пользователь
 
Регистрация: 25.03.2007
Сообщений: 67
По умолчанию

Carbon, +100 спосибо помогло

вот только что то чудит файловая позиция
оператор
getqf.seekg(0) -устанавливает файловою позицию -1 - бред
открыть и закрыть файл всё равно файловая позиция -1 пожже если сам не расберусь опигу проблему подробней
lacost вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
использование using namespace std; che Общие вопросы C/C++ 7 11.10.2007 17:13