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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 18:23   #1
Angriff
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 14
По умолчанию Проблема с указателем на указатель на вектор (C++)

Доброго времени суток. Столкнулся со следующей проблемой

Вот код:
Код:
//файл matrix.h
#include <iostream>
#include <cstdlib>
#include <vector>
#include <fstream>
using namespace std;

class matrix {
	int n;
	(vector<int>)** ptr;
public:
	matrix(const char * a);
	~matrix(){};
};
Код:
//matrix.cpp
#include <iostream>
#include <fstream>
#include "matrix.h"

matrix::matrix(const char * a){
	vector<int> *pt;
	char  str[100];
	n = 0;
	int num,i,k;
	
	//подсчет строк
	ifstream in1;
	in1.open(a);
	while(in1.getline(str,99) != NULL){
		n++;
	}
	in1.close();
	cout<< n<<endl;
	ptr = new (vector<int>*);

	//считывание матрицы
	ifstream in(a);
	for (i = 0; i < n; i++ ){
		pt = new (vector<int>);
		for(k = 0;k < n; k++){
			in >> str;
			if ((num = atoi(str)) == 0){
				num = -1;
			}
			pt->push_back(num);
			cout << num << endl;
			
		}
		*(ptr+i) = pt;
		cout<< i << "))))))))))" <<endl;
	}
	in.close();
	cout<<"!!!"<<endl;
}
Код:
//main.cpp
#include "matrix.h"

int main(int argc, char * argv[])
{
	if (argc != 2){
		std::cout << "Wrong arguments\n" ;
		return 0;
	}
	matrix A(argv[1]);
           cout<<End of programm<<endl;
	return 1;
}
программа до конца не дописана, но так вполне компилируется.
но при запуске из консоли возникает ошибка и вылетает сообщение об отладке
Вопрос простой: что делать, что неправильно? подскажите, пожалуйста... я не понимаю в чем ошибка...голову сломал...
интересно что сообщение "!!!" выводится, а сообщение "End of programm" не выводится.
еще интересное наблюдение: если поставить тот же аргумент что и в консоле в VS2008 то все нормально проходит....
заранее спасибо

PS:пишу под VS2008... консольное приложение WIN32...
как аргумент нужно подать полное имя текстового файла, например:
Код HTML:
1	13	1
1	2	3
3	12	3

Последний раз редактировалось Angriff; 22.04.2010 в 23:01.
Angriff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с указателем на структуру. kir_rik Помощь студентам 2 29.03.2010 13:40
проблема с указателем на массив Sergey.Voloxov Общие вопросы C/C++ 7 14.03.2010 17:47
Ошибка с указателем nusik Общие вопросы C/C++ 3 15.07.2009 14:14
При открытии двойным щелчком раздела возникает ошибка( DEMONENOC Операционные системы общие вопросы 3 30.06.2009 05:02
Запуск файлов в ShellListView двойным щелчком Македонский Компоненты Delphi 2 31.08.2007 11:54