Форум программистов, компьютерный форум CyberForum.ru

Сигнал SIGABRT - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка во время компиляции http://www.cyberforum.ru/cpp-beginners/thread797479.html
Выбивает ошибку:"Run-Time Check Failure #3 - The variable 'n' is being used without being defined." Код:#include "stdafx.h" #include <iostream> #include <conio.h> #include <clocale> #include <math.h> using namespace std; int main() {
C++ Индексированные списки Получил следующее задание, и не могу понять сути... Задание прикрепил во вложении... Вот мой код: // obr.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <iomanip> #include <locale> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread797461.html
C++ Обнуление переменной
Здрасте. struct sItems { int ITEM_STRONG_LIFEPOWER; int ITEM_EXCELLENT_GENES; int ITEM_BOMB_SPECIALIST; int ITEM_DEMENTED_DOCTOR; int ITEM_FIRE_AND_CURSE; int ITEM_BATTLE_VETERAN;
C++ Перегрузка оператора
Имеется код: #include <iostream> class X { public: int a; int b; int operator+(int a) {
C++ Создать в производном классе метод Run http://www.cyberforum.ru/cpp-beginners/thread797454.html
Общая постановка. Программа должна содержать: • базовый класс Х, включающий два элемента х1, х2 типа int, • конструктор с параметрами для создания объектов в динамической области памяти, • деструктор, • виртуальные методы просмотра текущего состояния и переустановки объектов базового класса в новое состояние. • производный класс У, включающий один элемент у типа int , • конструктор с...
C++ Числа Фибоначчи dano celoe 4islo N(>0).posledovatel'nost' 4isel Fibona4i FK(celogo tipa) opredelyaet'sya sleduiuwim obrazom: F1=1,F2=1,FK=FK-2+FK-1,K=3,4,5,6... vyvesti elementy F1,F2,...FN подробнее

Показать сообщение отдельно
никита11я
 Аватар для никита11я
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 13
01.03.2013, 17:45  [ТС]     Сигнал SIGABRT
Код с комментариями:
test.cpp:
C++
1
2
3
4
5
6
7
#include "obj.h"//класс обработки .obj файлов
int main()
{
    Obj hun("/home/nikita/untitled.obj");//указываем адрес файла .obj
    hun.objLoad();//загружаем файл
    return 0;
}
obj.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
 * obj.cpp
 *
 *  Created on: 27.02.2013
 *      Author: nikita
 */
 
#include "obj.h"
using namespace std;
 
Obj::Obj(char *file) {
    File = file;//пишем адрес файла .obj
    empty[0] = ' ';//определяем пустую строку
    error = empty;//ошибки - пустая строка
    isLoad = 0;//файл не загружен
}
 
Obj::~Obj() {
    File = empty;//адрес файла - пустая строка
    objFile.close();//закрыть обработчик файла
}
 
int Obj::objLoad()
{
    objFile.open(File, ios::in);//открыть наш файл .obj
    char command[10];//массив куда мы будем помещать строки, прочитаные из файла
    int i = 0, i1 = 1, wasV = 0;/*i - количество точек(vertex), i1 - счетчик места в массиве,
    * wasV - встречалась ли в файле v(Blender v2.63)
    */
    while(command[0] != 'f')
    {
        objFile >> command;//читаем файл и прочитанное помещаем в массив command
        if(command[0] == 'v')//если прочитано v
        {
            i++;//увеличить счетчик точек
        }
    }
    float Vector[i][3];//массив точек
    objFile.seekg(0, ios::beg);//возвращаемся в начало файла
    objFile >> command;//читаем файл
    while(command[0] != 'f')
    {
        objFile >> command;//читаем файл
        if(command[0] == 'v')
        {
            if(wasV)//если v уже было
            {
                objFile >> Vector[i1][0] >> Vector[i1][1] >> Vector[i1][2]; /*помещаем то, что после v в
                * массив Vector
                */
                i1++;
            }
            else{//если v не было
                wasV = 1;//сказать что v было
            }
        }
    }
    isLoad = 1;//загрузка завершена
    return 0;
}
obj.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
 * obj.h
 *
 *  Created on: 27.02.2013
 *      Author: nikita
 */
 
#ifndef OBJ_H
#define OBJ_H
#include <fstream>//класс обработки файлов
using namespace std;
 
class Obj {
public:
    Obj(char *);//конструктор
    ~Obj();//деструктор
    int objLoad(void);//загрузить файл .obj
    void objDraw(void);//нарисовать загруженное
private:
    char *File, *error;//File - адрес фаила .obj, error - ошибка загрузки или отрисовки(если есть)
    int isLoad, *vertexes[3];//isLoad - файл загружен?, vertexes - список загруженных вершин из файла
    ifstream objFile;//objFile - оброботчик файла
    char empty[1];//empty - пустая строка вида " \0"
};
#endif
Мне для моей игры нужны 3d модели. Но рисовать сложные модели по линиям не удобно. Я делаю 3d модели в Blender и конвертирую их в формат .obj . Мне нужен класс для загрузки 3d моделей в формате .obj .

Добавлено через 9 минут
Выдает *** stack smashing detected ***: /home/nikita/workspace/test/Release/test terminated на строке 59( return 0; ) в файле obj.cpp . Операционная система Linux, использую Eclipse.
 
Текущее время: 05:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru