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

Работа с памятью - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа на С http://www.cyberforum.ru/cpp-beginners/thread182936.html
Номер 222 б) Заранее спасиба
C++ стек Создать стек из случайных целых чисел и поменять местами элементы, содержащие максимальное и минимальное значения, считая, что такое значение может быть только одно. http://www.cyberforum.ru/cpp-beginners/thread182935.html
Matrix14. Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементы следующим образом («уголками»): все элементы первого столб C++
Matrix. Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементы следующим образом («уголками»): все элементы первого столбца; элементы последней строки, кроме первого (уже...
Дан массив размера N, вывести его элементы в обратном порядке C++
Array. Дан массив размера N. Вывести его элементы в обратном порядке.
C++ While4°. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false. http://www.cyberforum.ru/cpp-beginners/thread182930.html
While. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false.
C++ Case8. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей ук Case Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной. подробнее

Показать сообщение отдельно
red_88
6 / 6 / 0
Регистрация: 10.02.2009
Сообщений: 138
30.10.2010, 14:49  [ТС]
Lavroff, а remove_if удаляет только ссылку на объект в листе или сам объект из памяти тоже? Дело в том, что количество удалений будет много больше размерности задачи и если удаляются только ссылки то памяти понадобится ого-го

Добавлено через 1 минуту
что-то должно быть с грамотным вызовом erase, в этом у меня главная проблема

Добавлено через 15 часов 25 минут
Написал таким образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include <list>
using namespace std;
#include "oAlternativa.h"
 
class oUzel
{
public:
    oUzel(void);
    oUzel(int n);
    ~oUzel(void);
    list<oAlternativa> BestWays;
    int num;
    list<oAlternativa> Sources;
    list<oAlternativa> Dests;
    int TryAdd(oUzel Source,oAlternativa way);
    bool del_marck (const oAlternativa& value) { return (value.nFrom==0); }
    int AddWay(oAlternativa Way)//Добавление к набору BestWays одного из элементов
        {   Way.nFrom=1;    BestWays.push_back(Way);    return 1;}
    int DelWay(oAlternativa Way)//Удаление из набора BestWays элемента
        {   Way.nFrom=0;    BestWays.remove_if(del_marck);  return 1;}
};
Но на строку с объявлением функции del_marck выдаёт следующую ругань:
Код
1>c:\users\user\documents\visual studio 2010\projects\mdp\mdp\ouzel.h(21): error C3867: oUzel::del_marck: в вызове функции отсутствует список аргументов; используйте "&oUzel::del_marck" для создания указателя на член
Я так понимаю, функцию надо было объявлять либо вне класса либо как то указать, что поиск ведётся именно по листу BestWays?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru