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

Ошибка С2079 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пароль http://www.cyberforum.ru/cpp-beginners/thread376719.html
Всем доброго времени суток! У меня появилась такая проблема с организованием пароля:). Есть гланая форма, на которой расположен компонент MainMenu. При нажатии кнопки мыши на один из подразделов, необходимо организовать пароль. Для этого я вставила в проект новую форму, НО! Появление формы для ввода пароля должно выводиться до тех пор пока пользователь первый раз не наберет его правильно, а...
C++ Очередь из разнитипных элементов Помогите пожалуйста, задаче не хочет выводить метод speek(). Ошибка у меня в int main()после того как я объявила указатель на очередь /* Создать очередь из разнотипных элементов-животных, образованных от одного базового класса Animal. Испольpовать замещение метода Speek() в каждом подклассе. Продемонстрировать работу очереди в main. */ #include<iostream> #include<math.h> using... http://www.cyberforum.ru/cpp-beginners/thread376714.html
C++ хочу написать прогу не знаю как
Хочу написать программу которая При изменении цвета(например серого на желтый) на определенном пикселе или Группе пикселей(участке монитора), например загорания некой лампочки, нажимала определенную клавишу(например "4"). желательно чтоб координаты участка(пикселя) я мог задавать в ручную и клавишу тоже. подскажите как реализовать. Меня в основном интересует то как считывать информацию с экрана,...
Задание(( даже незнаю с чего начать... C++
Программы реализуются как ассемблерные вставки в языке высшего уровня (Паскаль, С++ и т.д.). Заданы два числа <16. Найти их произведение и с помощью битовых операций записать оба множителя и их произведение одно за другим в ячейку памяти размером в два байта без пропуска битов. Две свои программы написал на C++ Builder 6 summa(Aij * X) + summa(Bi * Y) и (A * X + B) div (C * X2 + D * X +...
C++ Анимация в С++ http://www.cyberforum.ru/cpp-beginners/thread376684.html
Уважаемые, программисты! кто может сделать анимацию в программе С++, рисунок можно самый простой лижбо он был в движение. Зарание огромное спасибо! Добавлено через 34 минуты Помогите пожалуйстааааааааааааааааааа
C++ По количеству делителей числа определить само число Название темы говорит само за себя, а теперь подробнее: По заданному количеству делителей числа требуется найти само это число. Входные данные Во входном файле INPUT.TXT записано количество делителей D некоторого натурального числа N (1 <= D <= 5000). Выходные данные В выходной файл OUTPUT.TXT запишите число N. Если решений несколько, выведите наименьшее из них. Если решения нет,... подробнее

Показать сообщение отдельно
kuroiryuu
 Аватар для kuroiryuu
311 / 295 / 23
Регистрация: 05.11.2009
Сообщений: 698
Завершенные тесты: 2
02.11.2011, 17:09     Ошибка С2079
имеется описание классов в 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
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
#include <map>
#include <set>
 
class Node;
class EdgeToNode;
class AdjacencyList;
 
typedef std::set<EdgeToNode> EdgesList;
typedef std::map<size_t, Node> NodesList;
 
class Node
{
public:
    Node(Node & node);
    Node(size_t key, std::wstring name) : key_(key), name_(name) {}
    ~Node();
    void AddDirected(Node node);
    void AddDirected(Node node, double cost);
    void AddDirected(EdgeToNode* edge);
    bool HasNeighbor(size_t key);
 
    inline size_t GetKey() const { return key_; }
    inline std::wstring GetName() const { return name_; }
private:
    size_t key_;
    std::wstring name_;
    AdjacencyList neighbors_; //ОШИБКА C2079!!!
};
 
class EdgeToNode
{
public:
    EdgeToNode(Node neighbor) : neighbor_(neighbor), cost_(1.0) {}
    EdgeToNode(Node neighbor, double cost) : neighbor_(neighbor), cost_(cost) {}
 
    inline double Cost() {return cost_;}
    inline Node Neighbor() const {return neighbor_;} //ОШИБКА C2558!!!
private:
    double cost_;
    Node neighbor_;
};
 
class AdjacencyList
{
public:
    virtual void Add(EdgeToNode e);
    virtual bool Contains(Node node);
    virtual bool Contains(EdgeToNode edge);
    inline EdgesList::iterator GetBeginEdge() {return list_.begin();}
    inline EdgesList::iterator GetEndEdge() {return list_.end();}
private:
    EdgesList list_;
};
при компиляции вылазит две ошибки
error C2558: class 'Node' : no copy constructor available or copy constructor is declared 'explicit'
error C2079: 'Node::neighbors_' uses undefined class 'AdjacencyList'

подскажите как бороться с этими ошибками?

по C2079 пробовал описать переменную Node::neighbors_ как
C++
1
AdjacencyList* neighbors_;
ошибка исчезла, но такое использование указателя не самый лучший способ, хотелось бы узнать как правильно в данной ситуации применить std::auto_prt<AdjacencyList>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru