Форум программистов, компьютерный форум, киберфорум
Наши страницы

std::vector<T>.push_back(T) - Error - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Тетрис: начало http://www.cyberforum.ru/cpp-beginners/thread341820.html
Здравствуйте. Захотелось мне сделать тетрис. Консольный, некрасивый, но рабочий. Так как мой скилл программирования невысок, то решил начать с малого — научить программку генерировать случайные...
C++ Что такое двумерный массив? Не буду долго объяснять мотивы subj-а, но не получается организовать работу с матрицей как с массивом векторов. Пытаюсь написать цикл просмотра массива с использованием указателя на элемент в... http://www.cyberforum.ru/cpp-beginners/thread341769.html
Копирую строчки двумерного массива и программа начинает вести себя странно C++
В общем, есть некоторый полузапиленный код. #include <iostream> #include <cstdlib> #include <stdlib.h> #include <conio.h> #include <time.h> using namespace std; void showmass(int**, int,...
C++ При компиляции не может найти хеадер
Написал программу.. она пашет, но когда весь код в main.cpp. Решил ее усовершенствовать, чтобы мейн имел красивее вид, сделал вот так: main.cpp: #include <iostream> #include <fstream> #include...
C++ Бот http://www.cyberforum.ru/cpp-beginners/thread341691.html
Порекомендуйте библиотеки для имитации нажатия клавиш, кнопок мыши и анализа пикселей с экрана. Хочу написать простенького бота для онлайн игры.
C++ Как убрать знак минус У меня int a = -7. Как программно получить a = 7? подробнее

Показать сообщение отдельно
goto
76 / 34 / 4
Регистрация: 04.04.2011
Сообщений: 78
Записей в блоге: 1

std::vector<T>.push_back(T) - Error - C++

14.08.2011, 08:45. Просмотров 3783. Ответов 14
Метки (Все метки)

Не пойму в чем дело, но при добавлении (CTextureManager :: load(const char* file)) в вектор – структуры, выскакивает ошибка...(в vector::size_type size() const) насколько мне известно push_back(T) делает копию помещаемого объекта и помешает его в вектор и вектор расширяется динамически. Привожу связанную с ошибкой часть кода, в чем может быть проблема?

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
typedef struct tagTEXTURE
{
    unsigned int TexID;
    unsigned int w;
    unsigned int h;
 
} TEXTURE, *PTEXTURE;
 
class CTextureManager 
{
    typedef std::vector<TEXTURE>::iterator tex_map_iterator;
    typedef std::vector<std::string>::iterator tex_map_name_iterator;
    
    std::vector<TEXTURE> tex_map;
    std::vector<std::string> tex_map_name;
    
public:
    
    GLuint load(const char* file);
    
    TEXTURE* get_texture(const char* file);
    TEXTURE* get_texture(const GLuint id);
    
    //bool load_list();
    void cleanup();
    
};
 
// cpp
GLuint CTextureManager :: load(const char* file) 
{ 
    TEXTURE t = {};
    if (isFileExist(file)) 
    {
        
        if (LoadTextureFromFile(file, &t )) 
        {
            tex_map.push_back(t); //<-- ERROR!
            tex_map_name.push_back(std::string(file));
            return t.TexID;
        }
        else 
        {
            return GL_ERR;
        }
    }
    
    return GL_ERR;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.